Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Виртуальный процессор. Рис.3.2. Граф состояний процесса



Рис.3.2. Граф состояний процесса

Развитие процесса в ВС начинается с его порождения. Программа, хранящаяся во внешней памяти, не является процессом, но она порождает процесс при инициализации ее выполнения.

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

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

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

Активное состояние - это состояние выполнения последовательности команд программы процесса на процессоре. В этом состоянии процесс имеет все ресурсы и занимает центральный процессор.

Процесс может выйти из состояния активности по одной из следующих причин:

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

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

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

В заблокированном состоянии процесс не выполняется, находясь в ожидании затребованного ресурса или услуги, предоставляемой другим процессом. Из этого состояния процесс может вернуться в состояние готовности после предоставления ему ожидаемого ресурса или выполнения запрошенной функции. Кроме того, процесс может быть завершен принудительно без выполнения запроса.

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

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

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

 
 





Дата публикования: 2014-11-29; Прочитано: 411 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...