Редактирование: Операционные системы/Аппарат прерываний
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 9: | Строка 9: | ||
=== Аппаратный этап обработки прерываний === | === Аппаратный этап обработки прерываний === | ||
- | На аппаратном этапе обработки прерываний процессором | + | На аппаратном этапе обработки прерываний процессором производтятся следующие действия: |
# Включение режима блокировки прерываний. В этом режиме все поступающие прерывания либо игнорируются, либо становятся в очередь (это зависит от конкретной архитектуры). | # Включение режима блокировки прерываний. В этом режиме все поступающие прерывания либо игнорируются, либо становятся в очередь (это зависит от конкретной архитектуры). | ||
# Завершение выполнения текущей команды. | # Завершение выполнения текущей команды. | ||
# Сохранение актуального состояния (некоторого подмножества регистров) процессора в ''аппаратный буфер'' ("малое упрятывание"). | # Сохранение актуального состояния (некоторого подмножества регистров) процессора в ''аппаратный буфер'' ("малое упрятывание"). | ||
- | # Присвоение регистру адреса некоторого заранее определенного значения (адреса обработчика), соответствующего программному этапу обработки прерываний. В зависимости от модели организации прерываний это может быть один и тот же адрес для всех прерываний или | + | # Присвоение регистру адреса некоторого заранее определенного значения (адреса обработчика), соответствующего программному этапу обработки прерываний. В зависимости от модели организации прерываний это может быть один и тот же адрес для всех прерываний или свай адрес для каждого типа прерываний. |
=== Программный этап обработки прерываний === | === Программный этап обработки прерываний === |