Загрузка...

Обработка прерываний


Прерывание(interrupt) — это событие, при котором меняется нормальная последовательность команд, выполняемых процессором. Если произошло прерывание, то • управление передается ОС; • ОС запоминает состояние прерванного процесса; • ОС анализирует тип прерывания и передает управление соответствующей программе обработки прерывания. Рассмотрим основные типы прерываний. SVС(supervisor call instruction)-прерывания. Инициатором этих прерываний является работающий процесс, который выполняет команду SVС, т.е. генерируемый программой пользователя запрос на предоставление конкретной системной услуги (например, на выполнение операции ввода-вывода, на увеличение размера выделенной памяти и т.п.). Механизм SVC позволяет защитить ОС от пользователей. Прерывания ввода-вывода. Инициируются аппаратурой ввода-вывода и сигнализируют ЦП о том, что произошло изменение состояния канала или устройства ввода-вывода, например, произошло завершение операции ввода-вывода, возникла ошибка или устройство перешло в состояние готовности. Внешние прерывания. Причинами таких прерываний могут быть различные внешние события, например, истечение кванта времени, заданного на таймере прерываний. Прерывания по рестарту. Эти прерывания происходят по команде рестарта ОС. Прерывания по контролю программы. Причинами таких прерываний являются различные виды ошибок, возникающих в выполняющемся процессе, например попытка деления на ноль. Прерывания по контролю машины. Эти прерывания вызываются аппаратными ошибками.

Загрузка...