Операционная система осуществляет управление с помощью прерываний. Прерывание представляет собой сигнал процессору, вырабатываемый программой, каким-либо устройством или самим процессором. Этот сигнал приостанавливает выполнение программы и запускает соответствующую функцию операционной системы для выполнения необходимых системных действий, например ввод-вывод данных или обработка ошибок, с последующим возобновлением выполнения прерванной программы.
Прерывания могут быть внешними и внутренними. Внешние прерывания вызываются внешними по отношению к МП событиями и являются непланируемыми прерываниями. Внутренние прерывания возникают внутри МП во время вычислительного процесса. К их возбуждению приводит 1 из 2-х причин:
- ненормальное внутреннее состояние МП, возникшее при выполнении некоторой команды программы. Такие события принято называть исключительными ситуациями, и относятся они к не планируемым;
- обработка машинной команды вызова прерываний. Этот тип прерываний называется программным. Это планируемое прерывание, т. к. с его помощью программист обращается в нужное для него время за обслуживанием своих запросов либо к ОС, либо BIOS, либо к собственным программам обработки прерываний.
Под системой прерываний понимают совокупность программных и аппаратных средств, реализующих механизм прерываний. К аппаратным средствам системы прерываний относятся выводы МП, микросхема программируемого контроллера прерываний, внешние устройства. К программным средствам системы прерываний реального режима относятся:
- Таблица векторов– содержит в определённом формате, который зависит от режима работы МП, указатели на процедуры обработки соответствующих прерываний.
- Соответствующие флаги в регистре флагов flags/eflags:
If - флаг прерываний – предназначен для запрещения аппаратных прерываний по входу intr, если if=1, то МП обрабатывает прерывания, если if=0, МП игнорирует сигналы на входе intr.
Tf - флаг трассировки – переводит МП в режим покомандной работы.
- машинные команды МП вызова прерываний.