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

Архитектура операционных систем. Процессы и их поддержка в операционной системе. (Лекция 2)

1. Архитектура операционных систем Лекция 1.2

АРХИТЕКТУРА
ОПЕРАЦИОННЫХ
СИСТЕМ
ЛЕКЦИЯ 1.2

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

ЧАСТЬ II. ПРОЦЕССЫ
И ИХ ПОДДЕРЖКА В ОПЕРАЦИОННОЙ
СИСТЕМЕ
2

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

ПОНЯТИЕ ПРОЦЕССА
– не может использоваться для
ТЕРМИН «ПРОГРАММА»
описания происходящего внутри ОС.
– не может использоваться для
ТЕРМИН «ЗАДАНИЕ»
описания происходящего внутри ОС.
Для статических объектов
ТЕРМИН «ПРОЦЕСС»
Для динамических объектов
3

4. Понятие процесса Процесс и программа

ПОНЯТИЕ ПРОЦЕССА
ТЕРМИН «ПРОЦЕСС» ХАРАКТЕРИЗУЕТ СОВОКУПНОСТЬ
НАБОРА ИСПОЛНЯЮЩИХСЯ КОМАНД
АССОЦИИРОВАННЫХ С НИМ РЕСУРСОВ
ТЕКУЩЕГО МОМЕНТА ЕГО ВЫПОЛНЕНИЯ
находящуюся под управлением ОС
ПРОЦЕСС ≠ ПРОГРАММА, КОТОРАЯ ИСПОЛНЯЕТСЯ:
ДЛЯ ИСПОЛНЕНИЯ ОДНОЙ ПРОГРАММЫ МОЖЕТ ОРГАНИЗОВЫВАТЬСЯ
НЕСКОЛЬКО ПРОЦЕССОВ
В РАМКАХ ОДНОГО ПРОЦЕССА МОЖЕТ ИСПОЛНЯТЬСЯ НЕСКОЛЬКО
ПРОГРАММ
В РАМКАХ ПРОЦЕССА МОЖЕТ ИСПОЛНЯТЬСЯ КОД, ОТСУТСТВУЮЩИЙ В
ПРОГРАММЕ
4

5. Состояния процесса

СОСТОЯНИЯ ПРОЦЕССА
рождение
вход
допуск
к планированию
событие произошло
ожидание
приостановка
ожидание события
процесс
не исполняется
прерывание
готовность
выбран для исполнения
выбран для исполнения
исполнение
завершение работы
выход
закончил
исполнение
5

6. Набор операций

НАБОР ОПЕРАЦИЙ
одноразовые
СОЗДАНИЕ ПРОЦЕССА
ЗАПУСК ПРОЦЕССА
– ЗАВЕРШЕНИЕ ПРОЦЕССА
– ПРИОСТАНОВКА ПРОЦЕССА
многоразовые
БЛОКИРОВАНИЕ ПРОЦЕССА – РАЗБЛОКИРОВАНИЕ ПРОЦЕССА
(ИЗМЕНЕНИЕ ПРИОРИТЕТА)
6

7. Process Control Block и контекст процесса

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     Русский Правила