Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ ОПЕРАЦИОННЫХ СИСТЕМ.doc
Скачиваний:
80
Добавлен:
09.11.2019
Размер:
4.83 Mб
Скачать

2.2. Процесс

2.2.1. Понятие и определения процесса

В литературе по ОС понятие «процесс» является базовым и одновременно наименее точно определенным [10]. Это вид абстракции, которую по-разному истолковывают и используют разные категории лиц. В частности, точки зрения на процесс системных и прикладных программистов расходятся в деталях, формах восприятия и реализации этого понятия. Попробуем определить его через понятие «процессор».

Процессор – любое устройство в составе компьютера, способное автоматически выполнять допустимые действия по программе, хранимой в памяти и доступной такому устройству. Тогда помимо центрального процессора можно условно назвать процессором канал ввода-вывода (его и называют «процессором ввода-вывода») или иное устройство, работающее с УВВ.

Между процессорами в системе существуют информационные и управляющие связи. Процессор может быть нужен одновременно нескольким пользователям для программы каждого из них. Таким образом, для каждого пользователя, которому нужен процессор, и системы, которая распределяет его между пользователями, и вводится понятие процесса, как некоторой деятельности, связанной с исполнением программы на процессоре.

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

Процесс может протекать по-разному, при этом развитием процесса нужно управлять: дать или изъять процессор у процесса; дать ему результаты работы других процессоров и процессов; дать ему другие ресурсы. А значит, управление процессами – действительно важная функция ОС.

2.2.2. Состояния процесса

При исполнении программы на процессоре различают 5 характерных «активных» состояний процесса [1, 10]:

  1. порождение, когда готовятся условия для первого исполнения программы на процессоре;

  2. активное (счет, выполнение), когда программа исполняется на процессоре;

  3. ожидание (блокирование), когда программа не исполняется на процессоре по причине занятости какого-либо требуемого ресурса, кроме процессора;

  4. готовность, когда программа не исполняется, но для ее исполнения предоставлены все необходимые в данный момент ресурсы, кроме процессора;

  5. окончание – нормальное или аварийное завершение исполнения программы, после чего процессор и другие ресурсы ей больше не предоставляются.

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

Рис.2.1. Граф существования процесса

Замечание. В ОС РВ процесс, кроме рассмотренных состояний «активности» с конкуренцией за ресурсы ВС, может находиться еще и в дополнительном, пассивном состоянии (бездействии), когда он известен системе, но за ресурсы не конкурирует (хотя его существование в системе и сопряжено с предоставлением ему оперативной и/или внешней памяти).

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

Часто процесс (задача) кратко определяется как программа в стадии выполнения. Если программа – статический объект, представляющий файл с кодами и данными, то процесс – динамический объект ОС, возникающий в системе после того, как пользователь или ОС решает запустить программу на выполнение, то есть создать новую единицу вычислительной работы.