Similar presentations:
Архитектура операционных систем. Процессы и их поддержка в операционной системе. (Лекция 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