Similar presentations:
Основы операционных систем. Лекция 2
1. Учебный курс Основы операционных систем Лекция 2
кандидат физико-математических наук, доцентКарпов Владимир Ефимович
2. Часть II. Процессы и их поддержка в операционной системе
23. Понятие процесса Уточнение терминологии
Термин «программа» – не может использоваться дляописания происходящего внутри ОС.
Термин «задание»
– не может использоваться для
описания происходящего внутри ОС.
Для статических объектов
Термин «процесс»
Для динамических объектов
3
4. Понятие процесса Процесс и программа
Термин «процесс» характеризует совокупность– набора исполняющихся команд
– ассоциированных с ним ресурсов
– текущего момента его выполнения
находящуюся под управлением ОС
Процесс ≠ программа, которая исполняется:
– для исполнения одной программы может организовываться
несколько процессов
– в рамках одного процесса может исполняться несколько
программ
– в рамках процесса может исполняться код, отсутствующий в
программе
4
5. Состояния процесса
рождениевход
допуск
к планированию
событие произошло
ожидание
приостановка
ожидание события
процесс
не исполняется
прерывание
готовность
выбран для исполнения
выбран для исполнения
исполнение
завершение работы
закончил
выход
исполнение
5
6. Набор операций
одноразовыесоздание процесса – завершение процесса
многоразовые
запуск процесса – приостановка процесса
блокирование процесса – разблокирование
процесса
(изменение приоритета)
6
7. Process Control Block и контекст процесса
Контекст процессаСистемный контекст
состояние процесса
программный счетчик
Регистровый
контекст
содержимое регистров
данные для планирования использования процессора и
управления памятью
учетная информация
сведения об устройствах ввода-вывода, связанные с
процессом
PCB
Код и данные в адресном пространстве
Пользовательский контекст
7
8. Пример генеалогического леса процессов
Процесс 1Процесс 12
Процесс 2
Процесс 255
Процесс 4
Процесс 3
Процесс 14
Процесс 23
Процесс 192
Процесс 15
Процесс 128
8
9. Создание процесса
Порождение нового PCB с состоянием процессарождение
Присвоение идентификационного номера
Выделение ресурсов
из ресурсов родителя
из ресурсов ОС
Занесение в адресное пространство кода и установка
значения программного счетчика
дубликат родителя
из файла
Окончание заполнения PCB
Изменение состояния процесса на готовность
9
10. Завершение процесса
Изменение состояния процесса на закончилисполнение
Освобождение ресурсов
Очистка соответствующих элементов в PCB
Сохранение в PCB информации о причинах
завершения
10
11. Пример генеалогического леса процессов
Процесс 1Процесс 12
Процесс 255
Процесс 4
?
Процесс 3
Процесс 14
Процесс 2
Процесс 15
Процесс 128
Процесс 23
Процесс 192
(Parent – 255)
11
12. Запуск процесса
Выбор одного из процессов, находящихся в состоянииготовность
Изменение состояния выбранного процесса на
исполнение
Обеспечение наличия в оперативной памяти
информации, необходимой для его выполнения
Восстановление значений регистров
Передача управления по адресу, на который указывает
программный счетчик
12
13. Приостановка процесса
Автоматическое сохранение программного счетчика ичасти регистров (работа hardware)
Передача управления по специальному адресу (работа
hardware)
Сохранение динамической части регистрового и
системного контекстов в PCB
Изменение состояния процесса на готовность
Обработка прерывания
13
14. Блокирование процесса
Обработка системного вызоваСохранение контекста процесса в PCB
Перевод процесса в состояние ожидание
14
15. Разблокирование процесса
Уточнение того, какое именно событиепроизошло
Проверка наличия процесса, ожидающего этого
события
Перевод ожидающего процесса в состояние
готовность
Обработка произошедшего события
15
16.
Выполнение кодапользователя
Работа hardware
Восстановление
контекста
Выполнение кода
ОС
Работа hardware
Процесс 1
Исполнение
Готовность
Выполнение кода
пользователя
Процесс 2
Ожидание
Прерывание
Готовность
Исполнение
Выполнение кода ОС
Сохранение Обработка Планирование
контекста прерывания
Пример цепочки операций
16