Знать бы еще, что такое WINDOWS NT...

Jan 04, 2010 20:51

 

Вот эту вот муть я сейчас ботаю в рамках подготовки к экзамену по курсу "Операционные системы", чтоб им... В основном, правда, речь идет о UNIX'е, но вот и Винда затесалась.

Билет № 30. Организация планирования обработки прерываний в   ОСWINDOWS NT.

ОС должна обеспечивать контроль над ходом выполнения  системных процедур, вызываемых по прерываниям . Это необходимое условие для правильного планирования пользовательских процессов.

Рассмотрим пример, в котором обработчик прерываний принтера блокирует на длительное время обработку прерываний от таймера, в результате чего системное время на некоторое время «замирает», и один из процессов (2), критически важный для пользователя, не получат управление в запланированное время.

Упорядоченное планирование прерываний.
Механизм прерываний поддерживает приоритезацию и маскирование прерываний.
Источники прерываний делятся на классы - каждому классу свой уровень приоритета запроса на прерывание.
Дисциплина обслуживания приоритетов
  • относительная (выбор по наивысшему приоритету, но далее обработка  не может быть отложена)
  • абсолютная (происходит переход к обработке более приоритетного с откладыванием текущего)


Механизм маскирования запросов.
В схеме с абсолютными приоритетами  заложено маскирование, так как запрещаются запросы с равными или более низкими приоритетами.
В общем случае - возможность маскирования прерываний любого класса и любого приоритета на некоторое время.
Упорядочивание работы обработчиков прерываний - механизм приоритетных очередей.
Наличие в ОС программного модуля - диспетчера прерываний.
При возникновении прерывания - вызов диспетчера.
Он блокирует все прерывания на некоторое время, устанавливает причину прерывания, сравнивает назначенный данному источнику прерывания приоритет с текущим приоритетом. В случае если у нового  запроса на прерывание приоритет выше чем у текущего, то выполнение текущего приостанавливается и он помещается в соответствующую очередь. Иначе в соответствующую очередь помещается поступивший обработчик.

Планирование обработки прерываний в Windows NT.
Все источники прерываний делятся на несколько классов, и каждому уровню присваивается уровень запроса прерывания - Interrupt Request Level (IRQL). Этот уровень и представляет приоритет данного класса.
Поступление запроса на прерывание/исключение - вызов диспетчера прерываний, который
  • Запоминает информацию об источнике прерывания
  • Анализирует его приоритет

Если приоритет <= IRQL прерванного, то  отложить в очередь, иначе текущий обработчик - в очередь, управление - новому.
Одна из важных задач планирования - обеспечение занятости внешних устройств
Для этого можно присваивать процессам высокий приоритет в периоды, когда они интенсивно используют ввод/ вывод.
Эти периоды легко прослеживаются:   
  • процесс блокируется про обращении к вводу/выводу.          
  • операции ввода/вывода обычно бывают  сконцентрированы в отдельных частях программ.

Применяется стратегия HPF.

универ, сессия

Previous post Next post
Up