Similar presentations:
Процессы в операционной системе
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.
Ответить на вопрос. Ответ пояснитьПри модернизации некоторой операционной системы,
поддерживающей только три состояния процессов:
готовность, исполнение, ожидание, принято решение
ввести два новых системных вызова. Один из этих вызовов
позволяет любому процессу приостановить
жизнедеятельность любого другого процесса (кроме
самого себя), до тех пор, пока какой-либо процесс не
выполнит второй системный вызов. Сколько новых
состояний процессов появится в системе?