Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DiVM / OSISP / Лекции_ОССП_Р2.pdf
Скачиваний:
95
Добавлен:
11.05.2015
Размер:
1.33 Mб
Скачать

Эта программа называется "спящий парикмахер"

Используется два двоичных семафора: работа с буфером и задержка потребителя.

Особенности:

-используются только двоичные семафоры;

-задача взаимного исключения реализуется через семафоры;

-через семафоры реализуется задержка потребителя, которая действует при попытке потребителя читать данные из пустого буфера.

3.1.10.3 Задача “производитель-потребитель”, буфер ограниченного размера

Производитель и потребитель связаны через буфер ограниченной емкости в N порций. ЧПП - число пустых порций.

begin

integer ЧПБ, ЧПП, РБ; ЧПБ:=0;

ЧПП:=N; РБ:=1; parbegin

производитель: begin

n1: производство новой порции; P(ЧПП);

P(РБ);

добавление порции к буферу; V(РБ);

V(ЧПБ); goto n1;

end;

потребитель: begin n2: P(ЧПБ);

60

Соседние файлы в папке OSISP