Контекст и дескриптор процесса

Содержание

Слайд 2

На протяжении существования процесса его выполнение может быть многократно прервано и

На протяжении существования процесса его выполнение может быть многократно прервано и

продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.

Контекст процесса

Слайд 3

Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация:

Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация:

идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС Unix) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.

Дескриптор процесса

Слайд 4

Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая

Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая

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

Отличие дескриптора процесса от контекста процесса

Слайд 5

Проце́сс — программа, которая выполняется в текущий момент. Стандарт ISO 9000:2000

Проце́сс — программа, которая выполняется в текущий момент. Стандарт ISO 9000:2000 определяет процесс как

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

Процесс

Слайд 6

При использовании такой абстракции все, что выполняется в вычислительных системах (не

При использовании такой абстракции все, что выполняется в вычислительных системах (не

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

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

Слайд 7

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

Процесс, находящийся в состоянии процесс исполняется, через некоторое время может быть завершен операционной системой или приостановлен

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

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

Слайд 8

Всякий новый процесс, появляющийся в системе, попадает в состояние готовность. Операционная

Всякий новый процесс, появляющийся в системе, попадает в состояние готовность. Операционная система, пользуясь каким-либо алгоритмом

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

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

Слайд 9

Теперь для появления в вычислительной системе процесс должен пройти через состояние

Теперь для появления в вычислительной системе процесс должен пройти через состояние рождение. При рождении процесс получает

в свое распоряжение адресное пространство, в которое загружается программный код процесса ; ему выделяются стек и системные ресурсы; устанавливается начальное значение программного счетчика этого процесса и т. д. Родившийся процесс переводится в состояние готовность. При завершении своей деятельности процесс из состояния исполнение попадает в состояние закончил исполнение

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