Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Реализация семафоров и мониторов с помощью очередей сообщений

Концепция семафоров | Решение проблемы producer-consumer с помощью семафоров | Мониторы | Игнорирование проблемы тупиков | Способы предотвращения тупиков путем тщательного распределения ресурсов. Алгоритм банкира | Нарушение условия ожидания дополнительных ресурсов | Hарушение условия кругового ожидания | Обнаружение тупиков | Восстановление после тупиков | Физическая организация памяти компьютера |


Читайте также:
  1. GG Часть III. Семь этапов исследования с помощью интервью
  2. II. Создание меню с помощью карт-изображений
  3. АСПИРАЦИЯ ИЗ РОТОГЛОТКИ (НОСА) С ПОМОЩЬЮ ЭЛЕКТРООТСОСА
  4. БИОЛОГИЯ КЛЕТКИ. ОРГАНИЗАЦИЯ НАСЛЕДСТВЕННОГО МАТЕРИАЛА И ЕГО РЕАЛИЗАЦИЯ
  5. В основе каждого из этих форматов лежит математическая модель, с помощью которой объект отображается на экране монитора.
  6. В Часто III. Семь этапов исследований с помощью интервью
  7. Ввод исходных данных с помощью элемента управления TextBox

Покажем, наконец, как реализовать семафоры с помощью очередей сообщений. Для этого воспользуемся более хитрой конструкцией, введя новый синхронизирующий процесс. Этот процесс имеет счетчик и очередь для процессов, ожидающих включения семафора. Для того чтобы выполнить операции P и V, процессы посылают синхронизирующему процессу сообщения, в которых указывают свои потребности, после чего ожидают получения подтверждения от синхронизирующего процесса.

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

Поскольку мы показали ранее, как из семафоров построить мониторы, мы доказали эквивалентность мониторов, семафоров и сообщений.

Заключение

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

1) В некоторых русских изданиях их еще называют переменными состояния.

 


 

7. Лекция: Тупики: версия для печати и PDA
В лекции рассматриваются вопросы взаимоблокировок, тупиковых ситуаций и "зависаний" системы

 


Дата добавления: 2015-10-02; просмотров: 56 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Реализация мониторов и передачи сообщений с помощью семафоров| Введение

mybiblioteka.su - 2015-2024 год. (0.005 сек.)