Операционные системы




УПРАВЛЕНИЕ АСИНХРОННЫМИ ПАРАЛЛЕЛЬНЫМИ - часть 7


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

Монитор представляет собой централизованный семафор или совокупность семафоров, спрятанных от пользователей процессов в одном системном процессе, и потому, недоступным пользовательским программам, которые не могут их нарушить. Процессы, которые использует монитор для синхронизации, не имеют прямого доступа к переменным состояния, и могут воспользоваться ресурсами только путем вызова процедур монитора (или макрокоманд).

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

процессом повышает приоритеты процессов критических областей. На рис.4.4 критический участок программируется в мониторе

Рис. 4.4. Схема использования монитора.

Достоинства монитора:

1.     Логические возможности не меньше, чем у семафоров.

2.     Упрощение написания параллельных программ. Достаточно знать процедуры организации параллельных вычислений.

3.     Повышение надежности параллельных систем, так как полностью защищает управление ресурсом.

4.     Обеспечение гарантированного получения ресурса.

Первая рассмотренная нами проблема, возникающая для асинхронных параллельных процессов, работающих с общим ресурсом - это проблема синхронизации процессов.




Содержание  Назад  Вперед