Синхронизация процессов при выделении ресурсов.
30. Синхронизация процессов при выделении ресурсов.
- Синхронизация процессов при выделении ресурсов
Симофоры – используются для синхронизации ресурсов
Симофор двоичный – это специальное управляющее поле содержащее
информацию о том свободен ресурс или занят(0 – свободен, 1 - занят).
Если ресурс занят то симофор не равен нулю, следовательно, диспетчер блокирует ресурс на процессе B.
PQ – очередь к ресурсу если PQ равен 0 то ресурс свободен если не равен нулю то PQ содержит адрес первого процесса который ждёт своей очереди.
Если ресурс запрашивают несколько процессов то создаётся список.
После исполнения процесса А идёт освобождение ресурса следовательно происходит разблокирование всех ресурсов.
Симофор считающий:
S=1 - ресурс свободен S=0 – ресурс занят
P(S)-операции на симофоре: S= S-1 если же S<0 то процесс ставится в очередь
S(-1) – В в очередь
S(-2) – С в очередь
Модуль S равен числу процессов стоящих в очереди.
V(S): S= S+1 если же симофор меньше либо равен нулю то процесс удаляется из очереди.
Бит доступа к управляющим таблицам - указывает можно ли корректировать. таблицу Устанавливается с помощью команды set and test – без прерывания.
Управление процессами - нижний уровень
1. с верхнего уровня поступают процессы один из которых является активным.
2. работа процесса
3. если процесс не завершился а время предоставленное процессу закончилось он может вернуться в очередь.
4. запрос ресурса у активного процесса который недоступен следовательно данный процесс становится заблокированным.
5. если заблокированному процессу предоставлен недостающий ресурс он переходит в разряд активных.
6. процесс завершается.
Характеристики алгоритмов управления процессами:
1. Как организована очередь управления процессов.
2. По какому правилу предоставляется время работы с процессором.
Квант времени – это минимальная единица времени, предоставляемая процессу для работы с процессором. Обычно процессу выделяется несколько квантов времени.
Время работы с процессором может предоставляться по следующим принципам:
1. Бесконечно.
2. Конечно и одинаково для всех процессов.
3. Конечно но вычисляемо.
Возможны и комбинации.
|