Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
осс эл версия.doc
Скачиваний:
0
Добавлен:
13.12.2019
Размер:
713.22 Кб
Скачать

Концепция прерывания

Реализация многопрограммного режима работы ЭВМ основана на ис-

пользовании прерывания.

Обобщенная временная диаграмма выполнения прерывания

Прерываемая ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ ┌┬┬┬┬┐

программа ──┴┴┴┴┴┴┴┼┴┴┴┴┴┴┴┼────────────────────────┼┴┴┴┴┘

│ │ │

Запрос прерывания────────┼┬┬┬┬┬┬┬┼────────────────────────┼──────

│ ├┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┤

Прерывающая ─────────┼───────┼┴┴┴┴┴┼┴┴┴┴┴┴┴┴┴┴┴┴┴┼┴┴┴┴┼─────

программа ├5─────6┼5───6┼5───────────6┼5──6┤

t1 t2 t3 t4 t5

%Время Сохра- Прерывающая Восста-

реакции нение программа новлен-

состоя ние сос-

ния тояния

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

тельность действий:

1)t2 - t1 - восприятие запроса на прерывание в течение времени

реакции. В общем случае величина этого времени случайна из-за следую-

щих причин:

- в момент t1 была выключена система прерываний;

- в момент t1 данное прерывание было "замаскировано";

- в момент t1 возникло одновременно несколько запросов на прерыва-

ние и они последовательно обрабатываются в соответствии с их приорите-

тами.

2)сохранение состояния прерванного процесса, включающее в общем

случае:

- адрес команды, перед выполнение которой произошло прерывание;

- содержимое регистров общего назначения;

- режим процессора ( привелигированный или непривелигированный)

3)передача управления прерывающей программе, путем занесения в

регистр адреса команд адреса первой исполняемой команды этой программы.

4)обработка прерывания , то есть выполнение обрабатывающей прог-

раммы.

5)восстановление состояния прерванного процесса, то есть :

- запись в регистры общего назначения сохраненных ранее данных(см

п.2)

- перевод процессора в ранее сохраненный режим (см.п.2);

- передача управления прерванной программе на команду , перед вы-

полнением которой произошло прерывание .

В большинстве ЭВМ этапы 1-3 реализуются аппаратными средствами, а

этапы 4 и 5 -средствами ОС.

В зависимости от источника запроса на прерывание выделяют следую-

щие основные классы прерываний:

Прерывания от внешних устройств вызываются сигналами, поступающи-

ми от периферийных устройств ввода-вывода либо от каналов ввод-выво-

да, и являющихся либо сигналом об окончании очередной операции вво-

да-вывода, либо сигналом от инициативного устройства, требующего на-

чать с ним операцию ввода-вывода.

Прерывания от схем контроля процессора возникают при :

- при попытке выполнить несуществующую команду;

- нарушении защиты памяти;

- переполнение разрядной сетки или исчезновение порядка в арифме-

тических командах;

- падение напряжения питания процессора ниже предельно допустимо-

го.

Прерывания, возникшие по первым трем причинам иногда называют

"программными", поскольку эти причины возникают в выполняемых програм-

мах.

Прерывания при обращении к супервизору происходят по специальной

команде. Этот вид прерываний является средством, позволяющим пользова-

тельским программам инициировать работу ОС(супервизора - диспетчера)

для выполнения определенных действий( например: выделить блок опера-

тивной памяти, выполнить операцию ввода-вывода, выдать системное время

и т.д и т. п.)

Существует классификация прерываний, в которой различают: преры-

вания первого и второго рода.

Системные причины прерывания первого рода возникают в случае,

когда у процесса, находящегося в активном состоянии, возникает потреб-

ность получить некоторый ресурс или отказаться от него, либо выполнить

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

обходимость в явной форме выразить требование на прерывание процесса

самого себя.

Прерывания первого рода порождаются самой программой,исполняемой

в данный момент процессором, в момент времени определяемый этой же

программой.

Реализуются прерывания первого рода, с помощью команды "обращение

к супервизору", которая находится в программе активного процесса.

При ее выполнении происходит переключение процессора с обработки

программы процесса на работу ОС, которая обеспечивает выполнение тре-

буемых процессу действий.

Системная причина прерывания второго рода возникает в случае не-

обходимости проведения синхронизации между параллельными процесса-

ми.Процессы , выполняемые под управлением ОС, по мере их окончания или

при возникновений каких либо важных событий при их выполнении выраба-

тывают сигнал прерывания(например: возникновение переполнения при вы-

полнении арифметической операции, завершении операции ввода-вывода)

Основной особенностью прерываний второго рода является то, что

прерывание выполняемой процессором программы происходит "без ее ведо-

ма" , то есть асинхронно.