Операционные системы. Теория и практика. Замятин А.В. - 45 стр.

UptoLike

Составители: 

45
прерванную ранее программу непосредственно из самой подпрограммы
обработки прерывания. Для прямого возврата достаточно адрес возврата
сохранить в стеке, что и делает аппаратура процессора. При этом стек
легко обеспечивает возможность возврата в случае вложенных прерыва-
ний, поскольку он всегда реализует дисциплину LCFS. Супервизор пре-
рываний сохраняет в дескрипторе текущей задачи рабочие регистры
процессора, определяющие контекст прерываемого вычислительного
процесса. Далее он определяет ту подпрограмму, которая должна вы-
полнить действия, связанные с обслуживанием настоящего (текущего)
запроса на прерывание. Наконец, перед тем, как передать управление на
эту подпрограмму, супервизор прерываний устанавливает необходимый
режим обработки прерывания (осуществляется маскирование, опреде-
ляющее запрет некоторых сигналов прерывания). После выполнения
подпрограммы обработки прерывания управление вновь передается яд-
ру ОС. На этот раз уже на тот модуль, который занимается диспетчери-
зацией задач (см. п. 3). И уже диспетчер задач, в свою очередь, в соот-
ветствии с принятой дисциплиной распределения процессорного време-
ни (между выполняющимися вычислительными процессами) восстано-
вит контекст той задачи, которой будет решено выделить процессор.
Сигналы, вызывающие прерывания, формируются вне процессора
или в процессоре, и могут возникать одновременно. В связи с этим, еще
одним неотъемлемым элементом обработки прерываний является прио-
ритет прерываний, с помощью которого они ранжируются по степени
важности и срочности. О прерываниях, имеющих одинаковое значение
приоритета, говорят, что они относятся к одному уровню приоритета
прерываний. Так, со всей очевидностью, прерывания от схем контроля
процессора должны обладать наивысшим приоритетом (действительно,
если аппаратура работает неправильно, то не имеет смысла продолжать
обработку информации), а например, программные прерывания – самым
низким.
На рис. 8 изображен обычный порядок (приоритеты) обработки
прерываний в зависимости от типа прерываний.
Средства контроля процессора
Системный таймер
Магнитные диски
Сетевое оборудование
Терминалы
Программные прерывания
Низкий
приоритет
Высокий
приоритет
Внешние устройства
Рисунок 8 Распределение прерываний по уровням приоритета