В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:
ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе.
В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов.
Образ процесса: программа, данные, стек и атрибуты процесса
Информация | Описание |
Данные пользователя | Изменяемая часть пользовательского адресного пространства (данные программы, пользовательский стек и модифицируемый код) |
Пользовательская программа | Программа, которую нужно выполнить |
Системный стек | Один или несколько системных стеков для хранения параметров и адресов вызова процедур и системных служб |
Управляющий блок процесса | Данные, необходимые ОС для управления процессом |
Дескриптор процесса содержит:
· Информацию по идентификации процесса
· Информацию по состоянию процесса
· Информацию, используемую для управления процессом
Информация по идентификации процесса
· Идентификатор процесса
· Идентификатор пользователя
· Идентификаторы родительского и дочерних процессов
Информация по состоянию и управлению процессом
· Состояние процесса, определяющее его готовность к выполнению
· Данные о приоритете (текущий, по умолчанию, максимально возможный);
· Информация о событиях – идентификация события, позволяющего продолжить выполнение процесса;
· Указатели, определяющие расположение образа процесса в оперативной памяти и на диске;
· Указатели на другие процессы (находящиеся в очереди на выполнение);
· Флаги, сигналы и сообщения, имеющие отношение к обмену инфо между двумя процессами;
· Данные о привилегиях;
· Указатели на ресурсы, которыми управляет процесс;
· Сведения по использованию ресурсов и процессора;
· Информация, связанная с планированием.
КОНТЕКСТ ПРОЦЕССА
· Содержимое регистров процессора, доступных пользователю (обычно 8 – 32 регистра и до 100 регистров в RISC – процессорах);
· Содержимое счетчика команд;
· Состояние управляющих регистров и регистров состояния;
· Коды условия, отражающие результат выполнения последней арифметической или логической операции (например, равенство нулю, переполнение);