Similar presentations:
Управление процессами
1. Управление процессами
2.
Процесс – это абстракция, характеризующаяпрограмму во время выполнения.
Процесс
–
это
совокупность
набора
исполняющихся команд, ассоциированных с ним
ресурсов и текущего момента его выполнения
(значения регистров, программного счетчика,
состояние стека и значения переменных),
находящуюся под управлением операционной
системы.
3.
Иерархия рабочих единиц в ОСЗадание
Процесс 1
Поток 1
1
Нить
Процесс 2
Поток
N
Поток 2
Нить
Нить
…
Процесс N
4.
Задание. Набор процессов с общими квотами илимитами
Процесс. Контейнер для ресурсов и потоков
Поток. Исполнение кода в процессе
Нить. Облегченный поток, полностью
управляемый в пространстве пользователя
5.
Состояния процессаРождение
Допуск к планированию
Событие произошло
Ожидание
Готовность
Прерывание
Ожидание события
Выбран для исполнения
Исполнение
Завершение работы
Закончил исполнение
6.
Процессы могут находиться в пяти основныхсостояниях:
1. рождение,
2. готовность,
3. исполнение,
4. ожидание,
5. закончил исполнение
В течение своей жизни каждый процесс переходит
из одного состояния в другое в соответствии с
алгоритмом планирования процессов, принятым в
данной операционной системе.
7.
Исполнение – активное состояние, во времякоторого процесс обладает всеми необходимыми
ресурсами и непосредственно выполняется
процессором.
Ожидание – пассивное состояние; процесс
заблокирован, он не может выполняться по своим
внутренним причинам (ждет освобождения какоголибо необходимого ему ресурса.
Готовность – пассивное состояние; процесс
заблокирован в связи с внешними по отношению к
нему
обстоятельствами
(процессор
занят
выполнением другого процесса).
8.
Всостоянии
исполнение
происходит
непосредственное выполнение программного кода
процесса.
9.
Причины выхода процесса из состоянияисполнения:
операционная
деятельность;
система
прекращает
его
он не может продолжать свою работу, пока не
произойдет некоторое событие, и операционная
система переводит его в состояние ожидание;
в результате возникновения
вычислительной системе его
состояние готовность.
прерывания
возвращают
в
в
10.
Операции над процессамисоздание процесса – завершение процесса;
приостановка процесса (перевод из состояния
исполнение в состояние готовность) –запуск
процесса (перевод из состояния готовность в
состояние исполнение );
блокирование процесса (перевод из состояния
исполнение в состояние ожидание) –
разблокирование
процесса
(перевод
из
состояния ожидание в состояние готовность).
11.
Контекст процессасостояние, в котором находится процесс;
программный счетчик процесса или, другими
словами, адрес команды, которая должна быть
выполнена для него следующей;
содержимое регистров процессора;
данные, необходимые для планирования
использования процессора и управления памятью
(приоритет процесса, размер и расположение
адресного пространства и т. д.);
12.
Контекст процессаучетные данные (идентификационный номер
процесса, какой пользователь инициировал его
работу, общее время использования процессора
данным процессом и т. д.);
сведения
об
устройствах
ввода-вывода,
связанных с процессом (например, какие устройства
закреплены за процессом, таблицу открытых
файлов).
Вся информация, необходимая для совершения
операций над процессом, доступна операционной
системе и хранится в блоке управления процессом.
13.
Регистровый контекст процесса – содержимоевсех регистров процессора (включая значение
программного счетчика).
Системный контекст процесса – все остальное.
Пользовательский контекст – код и данные,
находящиеся в адресном пространстве процесса.
Контекст
процесса
–
это
совокупность
регистрового, системного и пользовательского
контекстов процесса.
14.
Фоновые процессы, которые не связаны сконкретными пользователями и выполняющие
особые функции, называются демонами.
15.
Основные функции подсистемы управленияпроцессами и потоками
создание процессов и потоков;
обеспечение
процессов
необходимыми ресурсами;
и
потоков
изоляция процессов;
планирование выполнения процессов и потоков;
диспетчеризация потоков;
организация межпроцессного взаимодействия;
синхронизация процессов и потоков;
завершение и уничтожение процессов и потоков.
16. Алгоритмы планирования процессов и потоков
17.
Планирование процессов включает в себярешение следующих задач:
определение момента времени для смены
выполняемого процесса;
выбор процесса на выполнение из очереди
готовых процессов.
18.
ВидВыполняемые функции
планирования
Долгосрочное Решение о добавлении задания (процесса) в
пул выполняемых в системе
Среднесрочное Решение о добавлении процесса к числу
процессов, полностью или частично
размещенных в основной памяти
Краткосрочное Решение о том, какой из доступных
процессов (потоков) будет выполняться
процессором
Планирование Решение о том, какой из запросов процессов
ввода-вывода (потоков) на операцию ввода-вывода будет
выполняться свободным устройством вводавывода
19.
Типы планирования:1. динамическое планирование;
2. статическое планирование.
Статический тип планирования используется в
специализированных
системах,
где
набор
одновременно выполняемых задач определен
заранее (системы реального времени).
20.
Диспетчеризация заключается в реализациинайденного в результате планирования решения,
т.е. в переключении процессора с одного потока на
другой:
сохранение контекста текущего процесса;
загрузка контекста нового процесса;
запуск нового процесса.
21.
В отличие от планирования, осуществляемогопрограммными средствами ОС, диспетчеризация
реализуется совместно с аппаратными средствами
процессора.
22.
Вытесняющие и невытесняющие алгоритмыпланирования
Невытесняющая многозадачность – способ
планирования процессов, при котором активный
процесс выполняется до тех пор, пока он сам, по
собственной инициативе, не отдаст управление
планировщику операционной системы для того,
чтобы тот выбрал из очереди другой готовый к
выполнению процесс.
23.
Вытесняющая многозадачность – способ, прикотором решение о переключении процессора с
выполнения одного процесса на выполнение
другого принимается операционной системой, а не
самой активной задачей.
24.
Алгоритмы, основанные на квантованииКвант – ограниченный непрерывный период
процессорного времени.
Смена активного процесса происходит, если
исчерпан
квант
процессорного
времени,
отведенный данному процессу.
Выделяемые кванты могут быть одинаковыми для
всех процессов или различными.
Кванты, выделяемые одному процессу, могут быть
фиксированной величины или изменяться в разные
периоды жизни процесса.
25.
Алгоритмы, основанные на приоритетахПриоритет – это число, характеризующее степень
привилегированности процесса при использовании
ресурсов вычислительной машины, в частности,
процессорного времени.
Чем выше приоритет процесса, тем значительнее
его привилегии и тем меньше времени он будет
проводить в очередях.
Приоритет может выражаться целым или
дробным, положительным или отрицательным
значением.
26.
В зависимости от возможности измененияприоритета в течение жизни потока различаются
динамические и фиксированные приоритеты
27.
В системах с динамическими приоритетамиизменения приоритета могут происходить
по инициативе процесса, обращающегося с
вызовом к операционной системе;
по инициативе пользователя, выполняющего
соответствующую команду;
по инициативе ОС в зависимости от ситуации,
складывающейся в системе.
28.
Разновидности алгоритмов приоритетногопланирования:
обслуживание
с
относительными
приоритетами;
обслуживание с абсолютными приоритетами.
29.
В системах с относительными приоритетамиактивный процесс выполняется до тех пор, пока он
сам не покинет процессор, перейдя в состояние
ожидания (или же произойдет ошибка, или
процесс завершится).
30.
В системах с абсолютными приоритетамивыполнение активного процесса прерывается еще
при одном условии: если в очереди готовых
процессов появился процесс, приоритет которого
выше приоритета активного процесса.
Во многих современных ОС используются
смешанные
алгоритмы
планирования
(квантование с приоритетами)