Модели процессов и потоков. Состояния процессов и потоков. Дескриптор и контекст процесса и потока. Переключение контекстов процессов и потоков

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

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

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе.

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов.

Образ процесса: программа, данные, стек и атрибуты процесса

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

Дескриптор процесса содержит:

· Информацию по идентификации процесса

· Информацию по состоянию процесса

· Информацию, используемую для управления процессом

Информация по идентификации процесса

· Идентификатор процесса

· Идентификатор пользователя

· Идентификаторы родительского и дочерних процессов

Информация по состоянию и управлению процессом

· Состояние процесса, определяющее его готовность к выполнению

· Данные о приоритете (текущий, по умолчанию, максимально возможный);

· Информация о событиях – идентификация события, позволяющего продолжить выполнение процесса;

· Указатели, определяющие расположение образа процесса в оперативной памяти и на диске;

· Указатели на другие процессы (находящиеся в очереди на выполнение);

· Флаги, сигналы и сообщения, имеющие отношение к обмену инфо между двумя процессами;

· Данные о привилегиях;

· Указатели на ресурсы, которыми управляет процесс;

· Сведения по использованию ресурсов и процессора;

· Информация, связанная с планированием.

КОНТЕКСТ ПРОЦЕССА

· Содержимое регистров процессора, доступных пользователю (обычно 8 – 32 регистра и до 100 регистров в RISC – процессорах);

· Содержимое счетчика команд;

· Состояние управляющих регистров и регистров состояния;

· Коды условия, отражающие результат выполнения последней арифметической или логической операции (например, равенство нулю, переполнение);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: