Список использованных источников. 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;

}

Наши рекомендации