Понятие прерывания и их обработка

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

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

− внешние;

− внутренние;

− программные.

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

Внутренние прерывания происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы.

Программные прерывания по сути не являются «истинными» прерываниями. Программное прерывание возникает при выполнении особой команды процессора, выполнение которой имитирует прерывание.

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


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



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