Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[Проектирование операционных систем] - Курс лек....doc
Скачиваний:
22
Добавлен:
14.11.2018
Размер:
347.14 Кб
Скачать

Обработка прерываний

Обработка прерываний – функция ОС. Представляет собой последовательность действий:

  • Восприятие запроса на прерывание.

  • Сохранение контекста прерванного процесса (адрес команды, регистры, состояние процессора, адресное пространство).

  • Передача управления обработчику прерывания.

  • Обработка прерывания.

  • Восстановление контекста ранее прерванного процесса.

  • Возобновление выполнения ранее прерванного процесса.

Подсистемы ос

Мы будем рассматривать 4 подсистемы:

  • Подсистемы управления процессами.

  • Подсистемы распределения ресурсов.

  • Подсистемы управления памятью.

  • Подсистемы управления вводом/выводом.

Подсистема управления процессами

В большинстве ОС принята следующая двухуровневая схема:

  • Планирование процессов. (Долгосрочное планирование)

  • Диспетчеризация процессов. (Краткосрочное планирование)

Такое разделение построено на частотном принципе ос.

По принципу виртуализации, планированию подвергается не виртуальный процесс, а виртуальная машина в целом.

Будем использовать термин «работа» для обозначения выполняющегося задания, задачи, Приложения, процесса и тд.

Выполнение работы заключаться в исполнении ее программы.

Долгосрочное планирование

Предметом долгосрочного планирования является работа. Любую работу можно рассматривать как совокупность некоторых состояний. Будем использовать тот же перечень состояний, что и для процесса.

  1. Состояние порождения

Планировщик создает новую работу (или виртуальную машину)

    1. Резервируются все ресурсы указанные в дескрипторе работы

    2. Создается контекст

    3. Создается описание работы

  1. Состояние готовности (предоставленные все ресурсы кроме ЦПУ)

Деятельность виртуального процессора по исполнению каждого элементарного действия моделирует программа-диспетчер.

  1. Активное состояние

Элементарные действия исполняются на виртуальном процессоре.

  1. Состояние окончание

Планировщиком выполняются действия по обработки окончания работы:

    1. Обработка учетной информации.

    2. Вывод результатов.

    3. Освобождение ресурсов.

    4. Уничтожение контекста.

Помимо прочего программа планировщик содержит компоненты

  1. ввода описания работы.

  2. Постановки работы в очередь.

  3. Программа обработки выходных очередей.

Краткосрочное планирование

Предметом краткосрочного планирования является процесс.

Создание процесса

Завершение процесса

Перевод в состояние ожидания

Оповещение

OS/VS

Макрокоманда ATTACH

Макрокоманда DETACH

WAIT

POST

VM

LOGON

LOGOFF

WAIT

POST

Unix

fork()

exit()

wait()

- ? -

Windows

CreateProcess()

ExitProcess()

WaitForSingleObject()

SetEvent()

Краткосрочное планирование является реализацией целей поставленных на этапе долгосрочного планирования. Выполняет краткосрочное планирование программа-диспетчер.

Планировщик формирует очереди, а диспетчер их обрабатывает.