Разделы:


Best links:

Управление процессами

В памяти однопроцессорной мультипрограммной системы одновременно находятся несколько процессов, которые разделяют ЦП, хотя сам ЦП в любой момент времени может выполнять только один процесс. В простой мультипрограммной системе процессы могут находиться в трех состояниях, причем каждый процесс в любой момент времени находится только в одном из этих состояний. Указанными состояниями являются:

1. Выполнение процесса. Процесс выполняется центральным процессором.

2. Блокировка. Выполнение процесса продолжать невозможно, так как он ожидает появления некоторого события, например завершения операции ввода-вывода.

3. Готовность. Выполнение процесса можно возобновить в любой момент времени. Например, ввод-вывод, завершения которого ожидал процесс, закончен и обработку можно продолжить.

Смена состояний каждого процесса во времени показана на рис. 7.4. При запуске процесс помещается в очередь процессов, находящихся в состоянии готовности. Если текущий выполняемый процесс переходит из состояния выполнения в состояние блокировки из-за необходимости ожидания ввода-вывода, ЦП освобождается и планировщик процессов выбирает из очереди процесс и изменяет его состояние готовности на состояние выполнения. До тех пор, пока процесс находится в состоянии блокировки, его выполнение приостанавливается. После завершения ввода-вывода процесс переходит в состояние готовности и помещается в соответствующую очередь.

В наиболее простом механизме мультипрограммирования процесс выполняется до своего завершения или необходимости ожидать ввода-вывода. Однако для предотвращения монопольного использования процессора одним процессом систему можно спроектировать так, чтобы выполняемый процесс переходил в состояние готовности по истечении определенного временного интервала, что обеспечивает другим процессам шансы на выполнение. Такими системами с разделением времени управляют внешние программируемые устройства синхронизации, называемые часами (тиймерами) реального времени (см. $ 9.3). В системе с разделением времени время измеряется от момента перехода процесса в состояние выполнения; часы реального времени формируют прерывание, когда отведенное процессу время (т. е. временной квант) исчерпано. После этого процедура прерывания, являющаяся частью резидентного монитора, инициирует изменения состояний процессов.

предыдущаяследующая