В системах МФ задачи могут потерять управление по одну из прерываний:
- машинная ошибка (сбой оборудования),
- обращение к супервизору (команда SVC)
- программное прерывание,
- внешнее прерывание
- прерывание ввода-вывода (окончание операции)
- рестарт
Перечисленно - это все шесть классов прерываний МФ. Богатство различных ситуаций и условий прерываний выражается через коды прерывания. Механизм обработки прерывания железом можно рассмотреть на примере программного прерывания (все остальные классы прерываний отрабатывабтся железом в принципе точно также):
Program interruptions are used to report exceptions and events which occur during execution of the program.
A program interruption causes the old PSW to be stored at real locations 336-351 and a new PSW to be fetched from real locations 464-479.
На этом собственно и завершается аппартаная часть переключения с выполнения задачи на выполнение супервизора, а а именно супервизора программныхпрерываний. PSW - это слово состояния программы которое содержит адрес выполняемой команды. Новое PSW указывает на адрес супервизора программных прерываний.
Далее супервизор сохраняет PSW прерванной задачи и и значения регистров в управляющем блоке задачи (для того что бы к прерваной задаче можно было бы вернуться) и приступает либо к анализу причины ПП или переключает выполнение на другую готовую к выполнению задачу.
Для анализа причины используется код прерывания:
The cause of the interruption is identified by the interruption code. The interruption code is placed at real locations 142-143, the instruction-length code is placed in bit positions 5 and 6 of the byte at real location 141 with the rest of the bits set to zeros, and zeros are stored at real location 140. For some causes, additional information identifying the reason for the interruption is stored at real locations 144-183.