Учебный курс Основы операционных систем Лекция 2
Часть II. Процессы и их поддержка в операционной системе
Понятие процесса Уточнение терминологии
Понятие процесса Процесс и программа
Состояния процесса
Набор операций
Process Control Block и контекст процесса
Пример генеалогического леса процессов
Создание процесса
Завершение процесса
Пример генеалогического леса процессов
Запуск процесса
Приостановка процесса
Блокирование процесса
Разблокирование процесса
264.00K
Category: programmingprogramming

Основы операционных систем. Лекция 2

1. Учебный курс Основы операционных систем Лекция 2

кандидат физико-математических наук, доцент
Карпов Владимир Ефимович

2. Часть II. Процессы и их поддержка в операционной системе

2

3. Понятие процесса Уточнение терминологии

Термин «программа» – не может использоваться для
описания происходящего внутри ОС.
Термин «задание»
– не может использоваться для
описания происходящего внутри ОС.
Для статических объектов
Термин «процесс»
Для динамических объектов
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
English     Русский Rules