Под процессом будем понимать программу в стадии выполнения. В период своего существования процесс проходит через ряд дискретных состояний. Смену состояний процесса могут вызывать различные события. Процесс находится в состоянии выполнения, если в данный момент ему выделен центральный процессор. Процесс находится в состоянии готовности, если он мог бы сразу использовать ЦП, предоставленный в его распоряжение. Процесс находится в состоянии блокировки, если он ожидает появления некоторого события (например, завершения операции ввода/вывода), чтобы получить возможность продолжать выполнение. В однопроцессорной машине в каждый момент времени может выполняться только один процесс, однако несколько процессов могут находиться в состоянии готовности, а несколько в состоянии блокировки. Поэтому мы можем создать списки готовых к выполнению процессов и заблокированных процессов. Список готовых процессов упорядочен по приоритету, так что следующим процессом, получающим в свое распоряжение ЦП, будет первый процесс этого списка. Список заблокированных процессов неупорядочен. Разблокировка процессов осуществляется в том порядке, в котором происходят ожидаемые ими события.
Когда в систему поступает некоторое задание, она создает соответствующий процесс, который устанавливается в конец списка готовых процессов. Когда процесс оказывается первым в списке готовых и когда освобождается ЦП происходит смена состояний процесса – он переходит из состояния готовности в состояние выполнения.
Запуск Блокирован
Истечение кванта
Пробуждение
Чтобы предотвратить монопольный захват ресурсов машины каким-то одним процессом, операционная система устанавливает в специальном аппаратном таймере прерываний временной интервал (квант), в течение которого данному процессу разрешается занимать ЦП.
Блок управления процессом – является представителем процесса в операционной системе. Это структура данных, содержащая определенную важную информацию о процессе:
« Текущее состояние процесса;
« Уникальный идентификатор процесса;
« Приоритет процесса;
« Указатели памяти процесса;
« Указатели выделенных процессу ресурсов;
« Область сохранения ресурсов;
Когда операционная система переключает ЦП с процесса на процесс, она использует области сохранения регистров, чтобы запомнить информацию, необходимую для рестарта каждого процесса.