Составители:
Поведение диспетчера можно описать следующим образом.
Прерванный процесс переходит в очередь процессов, ожидающих
выполнения. В случае завершения процесс выводится из системы.
Диспетчер выбирает из очереди следующий процесс для выполнения.
Если бы все процессы всегда были готовы к выполнению, то очередь
на рис 2.2 могла бы работать эффективно, т.е. обслуживать имею-
щиеся в наличии процессы карусельным (round robin) методом, когда
каждому процессу отводится определенный промежуток времени, по
истечении которого процесс возвращается обратно в очередь. Однако
модель с двумя состояниями не является адекватной. Некоторые из
невыполняющихся процессов готовы к выполнению, в то время как
другие являются заблокированными и ждут окончания операции вво-
да-вывода. Поэтому более адекватной реальности является модель
процесса с пятью состояниями:
выполняющийся;
готовый к выполнению;
блокированный (процесс не может выполниться до наступ-
ления некоторого события, например до завершения опе-
рации ввода-вывода);
новый (только что созданный процесс, который еще не по-
мещен ОС в пул выполнимых процессов и не загружен в
ОЗУ);
завершающийся (процесс, удаленный ОС из пула выпол-
нимых процессов).
На рис. 2.3 показаны типы событий, соответствующие каждому из
возможных переходов из одного состояния в другое. Возможны сле-
дующие переходы:
Нулевое состояние/Новый. ОС выполняет все необходи-
мые действия для создания нового процесса. Присваивает
28
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »