Операционные системы. Учебное пособие. Марапулец Ю.В. - 78 стр.

UptoLike

Составители: 

прерванной ранее программе посредством занесения в указатель команд сохраненного
адреса команды. Однако такая схема используется только в самых простых программ-
ных средах. В мультипрограммных операционных системах обработка прерываний про-
исходит по более сложным схемам, о чем будет более подробно написано ниже.
Рис.3.2. Обработка прерывания
Итак, главные функции механизма прерываний:
распознавание или классификация прерываний;
передача управления соответственно обработчику прерываний;
корректное возвращение к прерванной программе.
Переход от прерываемой программы к обработчику и обратно должен выполняться
как можно быстрей. Одним из быстрых методов является использование таблицы, со-
держащей перечень всех допустимых для компьютера прерываний и адреса соответст-
вующих обработчиков. Для корректного возвращения к прерванной программе перед
передачей управления обработчику прерываний содержимое регистров процессора за-
поминается либо в памяти с прямым доступом, либо в системном стеке - system stack.
Прерывания, возникающие при работе вычислительной системы, можно разделить
на два основных класса: внешние (их иногда называют асинхронными) и внутренние
(синхронные).
Внешние прерывания вызываются асинхронными событиями, которые происходят
вне прерываемого процесса, например:
прерывания от таймера;
прерывания от внешних устройств (прерывания по вводу/выводу);
прерывания по нарушению питания;
прерывания с пульта оператора вычислительной системы;
прерывания от другого процессора или другой вычислительной системы.
Внутренние прерывания вызываются событиями, которые связаны с работой про-
цессора и являются синхронными с его операциями. Примерами являются следующие
запросы на прерывания:
80
прерванной ранее программе посредством занесения в указатель команд сохраненного
адреса команды. Однако такая схема используется только в самых простых программ-
ных средах. В мультипрограммных операционных системах обработка прерываний про-
исходит по более сложным схемам, о чем будет более подробно написано ниже.




                               Рис.3.2. Обработка прерывания

     Итак, главные функции механизма прерываний:
•  распознавание или классификация прерываний;
•  передача управления соответственно обработчику прерываний;
•  корректное возвращение к прерванной программе.
     Переход от прерываемой программы к обработчику и обратно должен выполняться
как можно быстрей. Одним из быстрых методов является использование таблицы, со-
держащей перечень всех допустимых для компьютера прерываний и адреса соответст-
вующих обработчиков. Для корректного возвращения к прерванной программе перед
передачей управления обработчику прерываний содержимое регистров процессора за-
поминается либо в памяти с прямым доступом, либо в системном стеке - system stack.
     Прерывания, возникающие при работе вычислительной системы, можно разделить
на два основных класса: внешние (их иногда называют асинхронными) и внутренние
(синхронные).
     Внешние прерывания вызываются асинхронными событиями, которые происходят
вне прерываемого процесса, например:
• прерывания от таймера;
• прерывания от внешних устройств (прерывания по вводу/выводу);
• прерывания по нарушению питания;
• прерывания с пульта оператора вычислительной системы;
• прерывания от другого процессора или другой вычислительной системы.
     Внутренние прерывания вызываются событиями, которые связаны с работой про-
цессора и являются синхронными с его операциями. Примерами являются следующие
запросы на прерывания:



                                        80