АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Пример тупика на ресурсах типа CR и SR

Прочитайте:
  1. HLA- DR, DQ, DP. В этой же зоне находятся и другие гены: например, DN, DO, продукты которых пока не известны.
  2. III. После этого раненую конечность лучше всего зафиксировать, например, подвесив на косынке или при помощи шин, что является третьим принципом оказания помощи при ранениях.
  3. IV. Порядок проведения и примерное распределение времени
  4. Адгезивные молекулы (молекулы суперсемейства иммуноглобулинов, интегрины, селектины, муцины, кадхерины): строение, функции, примеры. CD-номенклатура мембранных молекул клеток.
  5. Актуальный пример разработки программы в случае моббинга
  6. Алгоритм обнаружения тупика по наличию замкнутой цепочки запросов
  7. Алоэ Вера питьевой гель LR - Примеры выздоровлений.
  8. Амбивалентность (двойственность) - одновременное возникновение и сосуществование двух взаимно противоположных чувств (например, любовь и ненависть).
  9. Амплитуда зубца составляет примерно 10 mV
  10. Антагонизм. Разновидности. Примеры.

Пусть некоторый процесс ПР1 должен обменяться сообщениями с процессом ПР2 и каждый из них запрашивает некоторый ресурс R, причем ПР1 требует три еди­ницы этого ресурса для своей работы, а ПР2 — две единицы и только на время обработки сообщения. Всего же имеются только четыре единицы ресурса R. За­прос ресурса можно реализовать через соответствующий монитор с процедурами REQUEST(R.N) — запрос N единиц ресурса R и RELEASE(R.N) — освобождение, возврат N единиц ресурса R. Обмен сообщениями будем осуществлять через почтовый ящик MB. Фрагменты программ ПР1 и ПР2 приведены в листинге. 7.3.

Листинг 7.3. Пример тупика на CR- и SR-pecypcax

ПР1: REQUEST (R. 3);

SEND_MESSAGE (ПР2, сообщение. MB): WAIT_ANSWER (ответ. MB);

RELEASE (R. 3);

ПР2: WAIT_MESSAGE (ПР!.. сообщение. MB); REQUEST (R. 2): ОБРАБОТКА СООБЩЕНИЯ; RELEASE (R. 2); SEND_ANSWER (ответ. MB):

Эти два процесса всегда будут попадать в тупик. Процесс ПР2, если будет вы­полняться первым, сначала ожидает сообщения от процесса ПР1, после чего бу-


дет заблокирован при запросе ресурса R, часть которого будет уже отдана ПР1. Процесс ПР1, завладев частью ресурса R, будет заблокирован на ожидании отве­та от ПР2, которого никогда не получит, так как для этого ПР2 нужно получить ресурс R, находящийся в распоряжении ПР1. Тупика можно избежать лишь при условии, что на время ожидания ответа от ПР2 процесс ПР1 будет отдавать хотя бы одну единицу ресурса R, которыми он сейчас владеет. В данном примере, как и в предыдущем, причиной тупика являются ошибки программирования.


Дата добавления: 2015-01-18 | Просмотры: 567 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.003 сек.)