Введение в архитектуру компьютеров

Понятие процесса и состояния


Создавать современные операционные системы без теоретической базы стало затруднительно, так как невозможно повторить условия, приведшие к ошибке во время работы, а следовательно, выявить ее источник. Все это привело к появлению понятия процесса. Понятие "процесс" в последнее время встречается в литературе по операционным системам довольно часто, однако вкладываемый в это понятие смысл иногда сильно различается. Мы будем пользоваться следующим определением.

Процесс есть тройка (Q, f, g), где Q – множество состояний процесса; f– функция действия f : Q ® Q; g Í Q – начальное состояние процесса.

Действия, реализуемые процессом, будем рассматривать как результат выполнения некоторой программы на реальном (виртуальном) процессоре.

Перечислим некоторые свойства процесса:

*                   процесс не является закрытой системой и может взаимодействовать с другими процессами, воспринимая или изменяя часть среды, которую он с ними разделяет;

*                   каждый процесс живет лишь временно. Имеется и "главный" процесс, выполняемый вручную при включении компьютера, который начинает всю цепочку процессов;

*                   в любой момент процесс может быть описан его состоянием. Все параметры (переменные), характеризующие текущее состояние процесса, объ-единяются в "вектор состояний" или "слово состояний", которые позволяют возобновить процесс после его прерывания, в том числе и локальную среду.

Цикл жизни процесса может быть представлен как переход его из одного состояния в другое.

Пример. Пусть заданы три процесса (задания пользователя), одновременно присутствующие в системе с мультипрограммированием. И пусть каждый из них может находиться в трех состояниях: ожидание, готовность, выполнение.


Опишем эти состояния.

ОЖИДАНИЕ. Процесс ожидает выполнения какого-либо события (например, завершения операции I/0).

ГОТОВНОСТЬ. Процесс готов к выполнению, но процессов больше, чем процессоров, и он должен ждать своей очереди.



ВЫПОЛНЕНИЕ. Процессору выделены все ресурсы, в том числе и процессор, и его программы выполняются в настоящее время.

Схема на рис. 7.1. предполагает, что процессы уже существовали в памяти компьютера и будут существовать всегда. На практике пользователь должен эти процессы (задания) предоставить системе. Тогда реальная схема будет выглядеть так (рис. 7.2). Здесь дополнительно введены состояния: предоставление, хранение и завершение. Поясним их.

Рис. 7.1. Схема перехода процессов из одного состояния в другое

Рис. 7.2. Полная схема обработки процесса

ПРЕДОСТАВЛЕНИЕ. Пользователь предоставляет задание системе, на которое она должна отреагировать.

ХРАНЕНИЕ. Задание преобразовано во внутреннюю форму, понятную компьютеру, но ресурсы еще не выделены (например, задание записано на диск). Процесс в случае выделения ресурсов переходит в состояние

готовности.

ЗАВЕРШЕНИЕ. Процесс завершил свои вычисления и все выделенные процессу ресурсы могут быть освобождены и возвращены системе.


Содержание раздела