Similar presentations:
Управление процессами. Планирование и диспетчеризация процессов. Понятие процесса
1. Управление процессами. Планирование и диспетчеризация процессов
2. Понятие процесса
Процесс (process) - это программа пользователя приее выполнении.
(синонимы: задание (job), задача (task))
Процесс при его создании и управлении им
операционной системой включает следующую основную
информацию:
1.
Счетчик команд (program counter - PC)
2.
Стек (stack)
3.
Счетчик команд (program counter - PC) – адрестекущей выполняемой команды процесса; обычно
хранится в специальном системном регистре
аппаратуры;
Стек (stack) – резидентная область основной
памяти, выделяемая операционной системой при
создании процесса, в которой хранятся локальные
данные процедур процесса, их параметры
(аргументы) и связующая информация между ними,
необходимая для организации вычислений. При
запуске очередной процедуры в стеке отводится
запись активации (activation record), называемая
также стековым фреймом (stack frame) и
областью локальных данных (local data area) для
хранения локальных данных текущего поколения
(запуска) процедуры. По окончании ее выполнения
запись активации удаляется из стека;
4. Состояния процесса
При исполнении процесс может изменять своесостояние следующим образом:
5.
Новый (new): Процесс создается операционнойсистемой, но еще не начал выполняться.
Исполняемый (running): Исполняются команды
процесса на процессоре или процессолрах компьютерной
системы под управлением ОС.
Ожидающий (waiting): Процесс ожидает
наступления некоторого события, например, завершения
ввода-вывода. В состоянии ожидания процесс не занимает
процессор.
Готовый к выполнению (ready): Процесс ожидает
получения ресурсов процессора для его исполнения. В
состояние готовности к выполнению процесс попадает
обычно либо при его создании, либо после завершения
ввода-вывода (из состояния ожидания).
Завершенный (terminated): Исполнение процесса
завершено.
6. Блок управления процессом
(Process ControlBlock – PCB) – системная
структура данных,
используемая ОС для
управления процессом,
содержащая следующую
информацию, ассоциируемую
с каждым процессом:
7.
Состояние процессаТекущее значение счетчика команд (используется
при продолжении выполнения процесса);
Значения регистров процессора (также
используются при возобновлении процесса);
Информация для диспетчеризации процессора
(указатель на стек процесса, номер процесса);
Информация для управления памятью (границы
области памяти процесса);
Статистическая информация (общее время
выполнения процесса, оставшееся из заявленного время
выполнения, суммарное время ввода-вывода и т.д.)
Информация о состоянии ввода-вывода (список
открытых файлов).
8. планировщик ОС
Операционнаясистема при управлении
процессами обеспечивает
их поочередное
выполнение. Эту задачу
решает планировщик ОС
9. Очереди, связанные с диспетчеризацией процессов
Для управления процессами ОС организует следующиеочереди:
Очередь заданий (job queue) – содержит множество всех
процессов в системе. В нее попадает каждый новый процесс и
остается в ней в течение всего пребывания в системе.
Очередь готовых процессов (ready queue) – наиболее часто
используемая и изменяемая очередь, содержащая множество всех
процессов, находящихся в основной памяти и готовых к
выполнению. В нее попадает каждый новый процесс, который
система допускает к выполнению, а также каждый процесс после
выполнения ввода-вывода или наступление ожидаемого события.
Очереди процессов, ожидающих ввода-вывода (device
queues) – множества процессов, ожидающих результата работы
устройств ввода-вывода (для каждого устройства организуется
своя очередь).
10. планировщик ОС
Операционнаясистема при управлении
процессами обеспечивает
их поочередное
выполнение. Эту задачу
решает планировщик ОС
11.
Очередь готовых процессов и очереди к устройствамввода-вывода.
12.
Графическое представление диспетчеризации процессов.13. Планировщики, выполняющие диспетчеризацию процессов
В операционной системе диспетчеризация процессоввыполняется обычно несколькими планировщиками, каждый
из которых имеет свою периодичность вызовов и свою
определенную задачу, которую он решает.
Долговременный планировщик (планировщик заданий)
определяет, какие процессы должны быть перемещены в
очередь готовых процессов.
Кратковременный планировщик (планировщик
процессора) – определяет, какие процессы должны быть
выполнены следующими и каким процессам должен быть
предоставлен процессор.
14.
Для реализации режима разделения времени всистему может быть добавлен также планировщик
откачки и подкачки процессов, определяющий, какие
пользовательские процессы должны быть подкачаны в
память или откачаны на диск. Схема работы системы,
включающей такой планировщик, изображена на
15. Особенности планировщиков и процессов
Кратковременный планировщик вызывается очень часто, покрайней мере не реже, чем по истечение очередного кванта
времени процессора. Поэтому он должен быть очень быстрым,
максимально эффективно реализованным. Понятно, что
недопустимо, например, если время работы этого планировщика
окажется сравнимым с размером самого кванта времени –
слишком велики будут накладные расходы.
Долговременный планировщик вызывается относительно
редко, так как система не столь часто принимает решения о
переводе процесса в очередь готовых процессов. Поэтому он
может быть сравнительно медленным, не столь эффективно
реализованным.
Однако, поскольку основной задачей системы в целом
остается обслуживание как можно большего числа процессов,
именно долговременный планировщик определяет степень
(коэффициент) мультипрограммирования – число процессов,
которое обслуживает система в единицу времени.