Список использованных источников. 1. Windows to boot – istartedsomething: [Электронный ресурс] // www.Istartedsomething.Com, 2005-2013
1. Windows to boot – istartedsomething: [Электронный ресурс] // www.istartedsomething.com, 2005-2013. URL: http://www.istartedsomething.com/20061122/windows-boot/. (дата обращения: 18.02.2013).
2. Windows 1.0 // Википедия. [2013—2013]. Дата обновления: 19.02.2013. URL: http://ru.wikipedia.org/?oldid=52634963 (дата обращения: 18.02.2013)
3. modnews: [Электронный ресурс] // modnews.ru , 2005—2013. URL: http://modnews.ru/analytics/view/905 /. (дата обращения: 18.02.2013).
4. Windows 3.11 // Википедия. [2005—2005]. Дата обновления: 06.08.2005. URL: http://ru.wikipedia.org/?oldid=340956 (дата обращения: 18.02.2013)
5. Windows 95 // Википедия. [2013—2013]. Дата обновления: 07.02.2013. URL: http://ru.wikipedia.org/?oldid=52306876 (дата обращения: 18.02.2013)
6. Microsoft: [Электронный ресурс] // music.adme.ru , 2005—2013. URL: http://music.adme.ru/publ/29-1-0-25 . (дата обращения: 18.02.2013).
7. Windows NT 3.1 // Википедия. [2013—2013]. Дата обновления: 05.02.2013. URL: http://ru.wikipedia.org/?oldid=52255028 (дата обращения: 18.02.2013)
8. MS WINDOWS. Учебные пособия по Microsoft Windows 2000 и Microsoft Windows 98: [Электронный ресурс] // Воробьев В.В., 2000-2003. URL: http://www.is.svitonline.com/assol/win2k.htm. (дата обращения: 18.02.2013).
9. Мобильные вирусы: [Электронный ресурс] // proIT.com.ua, 2006 - 2013. URL: http://proit.com.ua/article/mobile/2007/06/12/141254.html. (дата обращения: 18.02.2013).
10. Первый день рождения Windows 7: [Электронный ресурс] // NoNaMe, 2000–2013.
URL: http://nnm.ru/blogs/ashkaa777/pervyy_den_rozhdeniya_windows_7/. (дата обращения: 18.02.2013).
11. Windows 8 // Википедия. [2013—2013]. Дата обновления: 05.03.2013. URL: http://ru.wikipedia.org/?oldid=52998818 (дата обращения: 18.02.2013)
12. ОПЕРАЦИОННЫЕ СИСТЕМЫ: [Электронный ресурс] // Онлайн библиотека, 2000–2013. URL: http://www.plam.ru/compinet/windows_xp/p4.php. (дата обращения: 18.02.2013).
13. 9.5. Операционная система Windows: [Электронный ресурс] // Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник, 2000–2013. URL: http://inf11.gym5cheb.ru/OS_win.html. (дата обращения: 18.02.2013).
14. Семейство операционных систем Windows — ПИЭ.Wiki: [Электронный ресурс] // http://wiki.mvtom.ru, 2000–2013. URL: http://wiki.mvtom.ru/index.php/Windows. (дата обращения: 18.02.2013).
15. Семафор (информатика) // Википедия. [2012—2012]. Дата обновления: 17.11.2012. URL: http://ru.wikipedia.org/?oldid=49933456 (дата обращения: 18.02.2013).
16. Олифер В.Г. Сетевые операционные системы : учебник для вузов /
В.Г. Олифер , Н.А. Олифер, - 2-е изд. ,– СПб. : Питер, 2009.
17. Гордеев А.В. Операционные системы : учебник для студ. вузов /
А.В. Гордеев, - 2-е изд. ,СПб.: Питер, 2009.
Приложение 1
#include<stdio.h>
#include<conio.h>
#include<windows.h>
/*------------------------------------------------*/
void printrusb(char string[100],int a)
{ char buf[100]; /* буфер обмена для вывода русских букв в консоль */
CharToOem(string, buf);/* преобразование букв */
printf(buf);//Выводим русские буквы
if (a == 1) {puts("\n");}//Выводим перевод строки
};
int st_stop(char string[100],int a)
{
FILE *f;
int d;
f=fopen(string,"rt"); // открываем файл для считывания
if (f!=NULL)
{
fscanf(f,"%d",&d);// считываем содержимое файла
if (d==a)
{
fclose(f); // закрываем файл
f=fopen(string,"wt"); // открываем файл для записи
fprintf(f,"%d",a+1);// записываем в файл 1
fclose(f); // закрываем файл
printf("%s = %d\n",string,a+1);
return 1;
}
else
{
if (a==2)
{
fclose(f); // закрываем файл
f=fopen(string,"wt"); // открываем файл для записи
fprintf(f,"%d",a);// записываем в файл 1
fclose(f); // закрываем файл
printf("%s = %d\n",string,a);
}
return 0;
}
}
else printrusb("Файла нет",1);
return 0;
}
void zapis(char string[100],char a[50])
{
FILE *f;
int d;
f=fopen(string,"wt"); // открываем файл для записи
if (f!=NULL)
{
fprintf(f,"%s",a);// записываем в файл
fclose(f); // закрываем файл
printrusb("В файл ",0);printf("%s",string);printrusb(" записана строка: ",0);printf("%s\n",a);
}
else printrusb("Файла нет",1);
}
int main()// программа производитель
{
int b;
char a='0';
char chars[50]="";
while (a!='a')
{ getch();
b=st_stop("semaphore.txt",0);
getch();
if(b==1)
{
printrusb("Введите строку: ",0);
scanf("%s",&chars);
zapis("res.txt",chars);
getch();
st_stop("semaphore.txt",2);
}
else printrusb("Очередность у другого процесса",1);
printrusb("Для завершения нажмите на букву а, для продолжения на любую другую клавишу",1);
a=getch();
}
return 0;
}
Приложение 2
#include<stdio.h>
#include<conio.h>
#include<windows.h>
/*------------------------------------------------*/
void printrusb(char string[100],int a)
{ char buf[100]; /* буфер обмена для вывода русских букв в консоль */
CharToOem(string, buf);/* преобразование букв */
printf(buf);//Выводим русские буквы
if (a == 1) {puts("\n");}//Выводим перевод строки
};
int st_stop(char string[100],int a)
{
FILE *f;
int d;
f=fopen(string,"rt"); // открываем файл для считывания
if (f!=NULL)
{
fscanf(f,"%d",&d);// считываем содержимое файла
if (d==a)
{fclose(f); // закрываем файл
f=fopen(string,"wt"); // открываем файл для записи
fprintf(f,"%d",a+1);// записываем в файл 1
fclose(f); // закрываем файл
printf("%s = %d\n",string,a+1);
return 1;
}
else
{
if (a==0)
{
fclose(f); // закрываем файл
f=fopen(string,"wt"); // открываем файл для записи
fprintf(f,"%d",a);// записываем в файл 1
fclose(f); // закрываем файл
printf("%s = %d\n",string,0);
}
return 0;
}
}
else printrusb("Файла нет",1);
return 0;
}
void schit(char string[100])
{
FILE *f;
char a[50];
int d;
f=fopen(string,"rt"); // открываем файл для записи
if (f!=NULL)
{
fscanf(f,"%s",&a);// считываем содержимое файла
fclose(f); // закрываем файл
printrusb("В файле ",0);printf("%s",string);printrusb(" записана строка: ",0);printf("%s\n",a);
}
else printrusb("Файла нет",1);
}
int main()// программа производитель
{
int b;
char a='0';
char chars[50]="";
while (a!='a')
{
getch();
b=st_stop("semaphore.txt",2);
getch();
if(b==1)
{schit("res.txt");
getch();
st_stop("semaphore.txt",0);
}
else printrusb("Очередность у другого процесса",1);
printrusb("Для завершения нажмите на букву а, для продолжения на любую другую клавишу",1);
a=getch();
}
return 0;
}