процессам для проведения над ней только двух операций: открытия и закрытия (P и V).
Для работы с семафорами необходима его инициализация, осуществляемая с помощью системного вызова (имя_свет, начал_знач_перемен.)
Смысл операции P., закрытия светофора, заключается в том, чтобы проверить текущее значение светофора. Если оно неотрицательное, то осуществляется переход к следующей операции, стоящей за операцией Р и при этом значение семафора уменьшается на 1 (-1).
Операция V заключается в том, что значение семафора увеличивается на 1 (+1) при этом один или несколько процессов претендующих на ресурс устанавливается в состояние готовности.
InitSem (S,0) тогда структура:
ПР1: begin ПР2: begin
P(S) P(S)
CS1 CS2
V(S) V(S)
End End
Семафоры получили очень широкое распространение в ОС нашего времени.
В основном различаются: по количеству допустимых светофоров; по диапазону начальных значений, а также по процедурам исполнения операций открытия-закрытия.
Даже для одного критического ресурса можно устанавливать несколько семафоров.
Характерная особенность: при задании семафоров фактически не определяется критический ресурс.
Лекция 8. 11.10.02
Почтовые ящики
Для организации взаимодействия между вычислительными процессами нужна не только их синхронизация, но и передача сообщений между ними. Для этого и служат почтовые ящики.
Почтовые ящики - это информационная структура, поддерживаемая ОС, состоящая из головного элемента и набора буферов.
Размер и количество буферов определяется при создании почтового ящика.
Головной элемент обычно содержит информацию о количестве буферов и их размерах.
Если какой-то процесс Р1 хочет передать информацию Р2 то он задает запрос системе на создание почтового ящика, а остальные процессы должны знать о его существовании. И с помощью специального системного вызова запросить у системы на доступ почтового ящика. После процессы могут записывать и считывать сообщения из этого ящика.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.