Критическая секция
Здесь критический участок для каждого процесса — от операции «Обнаруживает, что хлеба нет» до операции «Возвращается в комнату» включительно.
В результате отсутствия взаимоисключения мы из ситуации «Нет хлеба» попадаем в ситуацию «Слишком много хлеба». Если бы этот критический участок выполнялся как атомарная операция — «Достает два батона хлеба», то проблема образования излишков была бы снята.Сделать процесс добывания хлеба атомарной операцией можно было бы следующим образом: перед началом этого процесса закрыть дверь изнутри на засов и уходить добывать хлеб через окно, а по окончании процесса вернуться в комнату через окно и отодвинуть засов. Тогда пока
|
один студент добывает хлеб, все остальные находятся в состоянии ожидания под дверью (таблица 5.2).
Таблица 5.2
Итак, для решения задачи необходимо, чтобы в том случае, когда процесс находится в своем критическом участке, другие процессы не могли войти в свои критические участки.
Мы видим, что критический участок должен сопровождаться прологом (entry section) — «закрыть дверь изнутри на засов» — и эпилогом (exit section) — «отодвинуть засов», которые не имеют отношения к активности одиночного процесса. Во время выполнения пролога процесс должен, в частности, получить разрешение на вход в критический участок, а во время выполнения эпилога — сообщить другим процессам о том, что он покинул критическую секцию.В общем случае структура процесса, участвующего во взаимодействии, может быть представлена следующим образом
while (some condition) { entry section
critical section exit section
remainder section
}
Здесь под remainder section понимаются все атомарные операции, не входящие в критическую секцию.
Оставшаяся часть этой лекции посвящена различным способам программной организации пролога и эпилога критического участка в случае, когда очередность доступа к критическому участку не имеет значения.
Еще по теме Критическая секция:
- Критические градусы
- ПСИХОЛОГИЯ КРИТИЧЕСКАЯ
- 5. Критическая теория и рабочий класс.
- Традиционная и критическая теория
- Правило критического возвратак исходной точке.
- Правило критического возврата к исходной точке.
- Критические социальные исследования
- 3. Способность к суждению, критическое мышление и открытость новому
- Анти-Козлов, или Критическое бурчание
- "КРИТИЧЕСКИЕ ДНИ".
- Критическое мышление
- Критическое мышление
- Критическое мышление
- Критическое мышление
- Критическое мышление