Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные теоретические положения. Программа реализации задачи производитель-потребитель




Программа реализации задачи производитель-потребитель

 

Цель работы: Освоить средство синхронизации и взаимодействия процессов в рамках реализации задачи производителя/потребителя на основе механизма обмена сообщений.

 

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

Буфер сообщений – это информационная структура, в которую помещают сообщения. Размер буфера обычно задается при его создании.

Основные достоинства применения механизма сообщений:

· процессу не нужно знать о существовании других процессов до тех пор, пока он не получит сообщения от них;

· два процесса могут обмениваться более чем одним сообщением за один раз;

· очередь в буфере позволяют процессу-отправителю продолжать работу, не обращая внимание на получателя.

Недостатки:

· Появление еще одного ресурса, которым нужно управлять;

· Статический характер этого ресурса.

 

Задание

(выполняются с использованием справочных изданий)

 

Создать и реализовать модель взаимодействия двух процессов: «производителя» и «потребителя» в соответствии с теоретическими положениями о применении сообщений.

Используется буфер ограниченного размера, т.е. имеет только n ячеек для элементов данных. Следовательно, производитель не может постоянно работать с той скоростью, которая ему нужна, а вынужден ждать, если потребитель работает медленно и буфер заполнен. На рис.7.1. показано решение этой проблемы. Ограниченному буферу сопоставляются две позиции: B представляет количество элементов данных, которые произведены, но еще не использованы (число заполненных ячеек), B1 – количество пустых ячеек в буфере. Первоначально B1 имеет n фишек, а B фишек не имеет. Если буфер заполнен, то B1 фишек не имеет, а B имеет n фишек. Если теперь производитель попытается поместить еще один элемент данных в буфер, то он будет остановлен, так как в B1 нет фишки, делающей этот переход разрешенным.

При выполнении задания рекомендуется придерживаться следующей методики.

1. Используйте Вашу среду исследования функционирования операционной системы.

2. Для моделирования используйте 2 процесса: производитель и потребитель.

3. Создайте буфер ограниченного размера, равным ста двадцати.

4. Создайте легенду с использованием цветовой гаммы для состояний процессов: производителя и потребителя.

5. Запустите процессы производства и потребления происходящего в соответствии с рис.7.1.

6. В рамках созданного Вами программного продукта, проведите эксперимент для трех различных ситуаций: производитель и потребитель работают с одной скоростью; производитель работает значительно быстрее, чем потребитель; производитель работает значительно медленнее, чем потребитель.

7. Структура строки файла LOG.TXT должна быть следующей:

- время;

- наименование процесса (производитель, потребитель);

- состояние процесса (ожидание, исполнение);

 

 

Рис.7.1. Задача о производителе/потребителе с ограниченным

буфером.

Контрольные вопросы

1. Проблема производителя и потребителя.

2. Синхронизация с помощью сообщений.

3. Случай с ограниченным буфером.

4. Сравнительная характеристика метода синхронизации с помощью сообщений с другими методами.

 

Р а з д е л V III

 




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 447; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.