Процессы в операционной системе

Содержание

Слайд 2

Основная задача ОС – распределение ресурсов между процессами и потоками.

Основная задача ОС – распределение ресурсов между процессами и потоками.

Слайд 3

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

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

запускает программу на выполнение.
Слайд 4

Процесс (process) - это программа пользователя при ее выполнении.

Процесс (process) - это программа пользователя при ее выполнении.

Слайд 5

Важная особенность процесса: это единица вычислений, которая должна выполняться последовательно, т.е.

Важная особенность процесса: это единица вычислений, которая должна выполняться последовательно, т.е.

каждый процесс имеет свой последовательный поток управления (control flow) – последовательность выполняемых процессом команд.
Слайд 6

Процесс при его создании и управлении им операционной системой включает следующую

Процесс при его создании и управлении им операционной системой включает следующую

основную информацию:

Счетчик команд (program counter - PC) – адрес текущей выполняемой команды процесса; обычно хранится в специальном системном регистре аппаратуры;
Стек (stack) – резидентная область основной памяти, выделяемая операционной системой при создании процесса, в которой хранятся локальные данные процедур процесса, их параметры (аргументы) и связующая информация между ними, необходимая для организации вычислений.

Слайд 7

При запуске очередной процедуры в стеке отводится запись активации (activation record),называемая

При запуске очередной процедуры в стеке отводится запись активации (activation record),называемая

также стековым фреймом (stack frame) и областью локальных данных (local data area) для хранения локальных данных текущего поколения (запуска) процедуры. По окончании ее выполнения запись активации удаляется из стека;
Слайд 8

Секция данных ( data section ) – статическая (постоянно выделенная, неизменного

Секция данных ( data section ) – статическая (постоянно выделенная, неизменного

размера) область основной памяти, выделяемая операционной системой процессу, в которой хранятся его глобальные переменные, массивы, структуры, объекты.
Слайд 9

Исполняемый код (команды) процесса первоначально хранится во вторичной памяти (на диске)

Исполняемый код (команды) процесса первоначально хранится во вторичной памяти (на диске)

и загружается в основную память полностью или частично при обращении к нему.
Слайд 10

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

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

Слайд 11

При исполнении процесс может изменять свое состояние следующим образом: Новый (new):Процесс

При исполнении процесс может изменять свое состояние следующим образом:

Новый (new):Процесс создается

операционной системой, но еще не начал выполняться.
Исполняемый (running):Исполняются команды процесса на процессоре или процессорах компьютерной системы под управлением ОС.
Ожидающий (waiting):Процесс ожидает наступления некоторого события, например, завершения ввода-вывода. В состоянии ожидания процесс не занимает процессор.
Готовый к выполнению (ready):Процесс ожидает получения ресурсов процессора для его исполнения. В состояние готовности к выполнению процесс попадает обычно либо при его создании, либо после завершения ввода-вывода (из состояния ожидания).
Завершенный (terminated):Исполнение процесса завершено.
Слайд 12

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

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

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

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

Очередь готовых к выполнению процессов – одна из наиболее часто используемых

системных структур для управления процессами.
Слайд 14

Из состояния готовности в состояние выполнения процесс переводится планировщиком ОС в

Из состояния готовности в состояние выполнения процесс переводится планировщиком ОС в

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

Если в процессе выполняется синхронный ввод-вывод, либо процесс должен ожидать наступления

Если в процессе выполняется синхронный ввод-вывод, либо процесс должен ожидать наступления

некоторого события (например, определенного момента времени), процесс переходит в состояние ожидания.
Слайд 16

Если в процессе выполняется синхронный ввод-вывод, либо процесс должен ожидать наступления

Если в процессе выполняется синхронный ввод-вывод, либо процесс должен ожидать наступления

некоторого события (например, определенного момента времени), процесс переходит в состояние ожидания.
Слайд 17

При завершении ввода-вывода или при наступлении ожидаемого события процесс не получает

При завершении ввода-вывода или при наступлении ожидаемого события процесс не получает

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

Процесс переходит в завершенное состояние при завершении работы программы процесса -

Процесс переходит в завершенное состояние при завершении работы программы процесса

- например, в результате системного вызова exit(c), где c – код завершения. Если c = 0,процесс считается благополучно завершенным.