Читайте также:
|
|
В период своего существования процесс проходит через ряд дискретных состояний, и смену состояний процесса могут вызывать различные события. Говорят, что процесс выполняется, т.е. находится в состоянии выполнения, ели в данный момент ему выделен ЦП (центральный процессор). Говорят, что процесс готов, т.е. находится в состоянии готовности, если он мог бы сразу использовать ЦП, предоставленный в его распоряжение. Говорят, что процесс заблокирован, т.е. находится в состоянии блокировки, если он ожидает появления некоторого события, например, завершение операции I-O, чтобы получить возможность продолжать выполнение.
В однопроцессорной машине в каждый конкретный момент времени может выполняться только один процесс. Однако. Несколько процессов могут находиться в состоянии готовности и несколько в состоянии блокировки. Поэтому мы можем создать список готовых к выполнению процессов и список заблокированных процессов. Список готовых, как правило, упорядочен по приоритету. Список заблокированных процессов не упорядочен. Заранее не известно сколько времени понадобится на операцию I-O.
выполняется |
блокирован |
блокирование
Запуск
готов |
Истечение кванта времени
Когда в систему поступает некоторое задание, она создает соответствующий процесс, который затем устанавливается в конец списка готовых процессов. Этот процесс постепенно продвигается и по мере завершения предыдущих процессов становится первым в очереди готовых.
Когда процесс оказывается первым в списке готовых и когда освобождается ЦП, этому процессу выделяется ЦП и говорят, что происходит смена состояний. Он переходит из состояния готовности в состояние выполнения.
При пробуждении: блокирован - > готов
При истечении кванта: выполняется – готов
При блокировании: выполняется – блокирован
При запуске: готов – выполняется
Про процесс, имеющий в своем распоряжении ЦП, говорят, что он выполняется. Если процесс добровольно не освободит ЦП до истечения указанного временного интервала, тогда таймер выдает сигнал прерывания, по которому управление будет передано ОС, и, после этого, ОС переведет ранее выполнявшийся процесс в состояние готовности, а первый процесс из списка готовых – в состояние выполнения. Что значит перевести? Сохранили состояние и запустили в регистры параметры нового процесса. BIOS – железо не знает никаких параметров (с какой частотой работать). Биос позволяет настроить железо, указав первоначальные параметры (сколько цветов монитора, какое разрешение) системы.
ЦП |
Если выполняющийся процесс до истечения отпущенного ему кванта времени инициирует операцию ввода-вывода, то этот процесс тем самым добровольно освобождает ЦП. Таким образом, он сам себя блокирует в ожидании завершения указанной операции ввода-вывода. Кто блокирует процесс, который блокируется? НЕ ОС!!! Только процесс сам себя может заблокировать!!!!
Это единственная смена состояний (блокировка) инициируемая самим процессом, остальные три смены состояния инициируются объектами, внешними по отношению к данному процессу.
Дата добавления: 2014-12-19; просмотров: 89 | Поможем написать вашу работу | Нарушение авторских прав |