logo
Лекции по операционным системам

2. Принципы организации спп

При функционировании ЭВМ в ней самой и связанной с ней внешней среде могут возникать события, требующие немедленной реакции на них со стороны ЭВМ. Эта реакция состоит в том, что ЭВМ прерывает обработку текущей программы, которая является прерываемой, и переходит к выполнению другой программы, называемой прерывающей и специально предназначенной для обработки данного события. Рассматриваемый процесс называется прерыванием программ. Моменты возникновения некоторой части событий, требующих прерывания программ, заранее неизвестны и поэтому не могут быть учтены при программировании.

Любое событие, требующее прерывания, сопровождается сигналом, оповещающим ЭВМ. Эти сигналы называются запросами прерывания и генерируются несколькими выполняющимися параллельно во времени процессами, например:

Прерывания от устройства аппаратного контроля возникают при обнаружении этим устройством неисправности в ЭВМ, канале или ПУ.

Прерывания ввода-вывода происходят при завершении работы канала или ПУ.

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

Возможность прерывания программ - важное свойство ЭВМ, позволяющее существенно повысить эффективность использования ее ресурсов, а также использовать ЭВМ для управления в системах реального времени. Для реализации прерывания в ЭВМ должны существовать соответствующие программные и аппаратные средства, называемые системой прерывания программ (СПП), или контроллером прерываний. Основные функции СПП состоят в запоминании ССП и переходе к прерывающей программе, при этом для запоминания ССП используется фиксированная зона оперативной памяти (например, в ЭВМ типа IBM/360 и IBM/370 и соответственно в ЕС ЭВМ) или же стековая память (например, в ЭВМ типа IBM PC с МП типа 80х86).

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

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