ПОНЯТИЕ ПРОЦЕССА

 

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

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

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

2. активность – программа исполняется на процессоре;

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

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

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

Интервал времени между порождением и завершением называется интервалом существования процесса.

Допустимые состояния процесса и переходы между ними удобно изображать в виде графа существования процесса (рис. 1).

 
 

 

 


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

 

Рассмотрим классификацию процессов по ряду признаков (рис. 2).

1. Процессы, которые необходимо завершить до наступления конкретного момента времени, называются процессами реального времени.

2. Процессы, время существования которых не превышает времени допустимой реакции на запросы пользователя, называются интерактивными.

3. Остальные процессы называются пакетными.

Процессы, развивающиеся на ЦП, называется внутренними, или программными. Процессы, развивающиеся на других процессорах, отличных от ЦП, называются внешними (процессы ввода-вывода).

Программные процессы, в свою очередь, делятся на системные (исполняется программа из состава ОС) и пользовательские (исполняется прикладная программа).

Два процесса, имеющие одинаковый конечный результат при одинаковых исходных данных называются эквивалентными. Если при этом используется одна и та же программа, то процессы называются тождественными. Если совпадают трассы процессов, то они равные. Во всех остальных случаях процессы различные.

Если интервалы существования двух процессов не пересекаются во времени, то это последовательные процессы. В противном случае – параллельные. Если на части рассматриваемого интервала процессы развиваются одновременно, то они комбинированные.

Если между процессами возникают связи всевозможных типов (функциональные, пространственно-временные, управляющие, информационные и т.д.), то процессы являются взаимосвязанными.

Процесс, по требованию которого образуется другой процесс, называется порождающим. Образованный процесс называется порожденным. Управляющий тип связи определяется отношением порождающего к порождаемому.

Если два процесса совместно используют некоторые ресурсы, но не обмениваются информацией, они называются информационно-независимыми. При наличии информационной связи, они являются взаимодействующими.

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

 

 
 

 

 


Рис.2. Схема классификации процессов

 

 

Допустимые отношения между взаимосвязанными процессами определяются тремя синхронизирующими правилами:

1. Отношение предшествования. Первый из двух процессов должен переходить в активное состояние всегда раньше второго.

2. Отношение приоритетности. Процесс, имеющий приоритет P, активизируется при соблюдении двух условий:

· в состоянии готовности нет процессов с большим приоритетом;

· процессор либо свободен, либо используется менее приоритетным, чем Р процессом.

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