126.40K

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

1.

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

2.

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

3.

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

4.

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

5.

Важная особенность процесса: это
единица вычислений, которая должна
выполняться последовательно, т.е. каждый
процесс имеет свой последовательный
поток управления (control flow) –
последовательность выполняемых
процессом команд.

6.

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

7.

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

8.

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

9.

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

10.

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

11.

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

12.

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

13.

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

14.

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

15.

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

16.

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

17.

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

18.

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

19.

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