Назначение и классы прерываний. Механизм обработки прерываний. Учет приоритета прерываний

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

Mov ax,1

Mov bx,2

Jre x

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

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

1) внешние

2) внутренние

3) программные

Внешние или аппаратные обрабатываются драйвером соответсв. внешних устройств. Внутренние – спец.модулями ядра, а программные – процедурами ОС, обслужив. системные вызовы.

Внешние прерывания – могут возникать в результате действий пользователя или в результате поступления сигналов от аппар.устр-в. Поэтому внешние прер-я называют аппаратными, отражая тот факт, что возникает прерывание вследствии подачи нек-й аппаратурой электр.сигнала. Сигнал подается на специальный вход прерываний процессора

Является асинхронным по отношению к потоку команд выполняемой программы. Бывают прерывания:

А) маскируемые (можно сделать так, что прерывание происходить не будет)

Б) немаскируемые

Внутренние прерывания (исключения) – происходят внутри процессора в процессе выполнения программы: синхронно выполнению программы при появлении аварийной ситуации в ходе выполнения некоторой инструкции программы. Происходят синхронно выполнению текущих потоков команд

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

Механизм обработки прерываний -два основных способа реализации прерываний:

 1)векторный

 2)опрашиваемый.

 В обоих случаях предоставляется приоритет, а в случае векторного – адреса обработчика прерываний.

Вектор прерываний – электр. сигнал, доставляемый на соответствующие коды процессора, несущих в себе информацию об определенном, закрепленном на данном у-ве номере, который идентифицирует соответствующий обработчик прерываний

Векторные механизмы – каждому уст-ву назначается вектор прерываний. Вектор прерыв., передаваемый в процессор предств.собой целое число 0..255, указывающее на 1 из 256 программ обработки прерываний. Вектор прерываний бывает фиксир., конфиг., программн.

Опрашиваемые – есть уровни приоритета прерываний, например IRQ, может быть связано несколько устройств и неск-о обр.прерываний. При появлении на шине прерываний с д.уровнем процессов опрашивает все устр-ва, к-е связаны с данным уровнем прерываний до тех пор пока разработчик не подтвердит, что это прерывание.

Учет приоритета прерываний

При использовании схемы с относительными приоритетами, при одновременном использовании запросов прерываний из разных классов выбирается запрос, имеющий высший приоритет. После выполнения его обработчика выполняется обработчик 2-го прерывания

Решение о выборе какой запрос обрабатывать принимается только в момент завершения обработки прерывания. В случае абсолютных приоритетов при поступлении более приоритетного прерывания во время работы обработчика менее приоритетного текущий обработчик прерывается и обрабатывается на вновь поступившем

Варианты межпроцессного взаимодействия

Причины взаимодействия: 1. повышение скорости работы; 2. совместное использование данных; 3. модульная конструкция системы; 4.удобство пользователя (процесс текстового редактора).

Взаимодействующие (кооперативные). Категория средств взаимодействия: 1. сигнальные – передается минимальное количество информ вплоть до 1 бита. Степень воздействия сигнала на поведение процесса минимальна. Все зависит от того, знает ли процесс как интерпретировать сигнал. Неправильная реакция на сигнал или игнорирование могут привести к трагическим последствиям. Сигналы вызывают прерывание выполнения задачи и выполнения заранее предусмотрен действий. Два типа сигнала: 1. синхронный – чаще всего приходят от системы прерывания проц блокируемых аппаратурой, например деление на 0.

2. Асинхронный – могут поступать в любой момент.

В ОС набор сигналов определен для каких-то дополнительных сигналов. Необходимо определить как их обрабатывать. Канальные средства. Процессы взаимодействуют через линии связи предоставляемые ОС. Канальные средства могут обладать или не обладать буфером. 1. буфер нулевой емкости или отсутствующ. Никакая информация не сохраняется на линии связи. Процесс посылающий информ должен дождаться пока принимающая сторона не получит информацию и только тогда продолжит свое выполнение.. 2. буфер ограниченной емкости может хранить не более n единиц информации. 3. буфер неограниченной емкости. Теоретически возможет практически нет.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: