Операционные системы, среды и оболочки. Макаренко С.И. - 66 стр.

UptoLike

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

4. ПРЕРЫВАНИЯ
«Прерывания названы так весьма удачно,
поскольку они прерывают нормальную работу системы».
Скотт Максвелл. Ядро Linux в комментариях. — К. ДиаСофт, 2000.
4.1 Понятие прерывания
Система прерываний переводит процессор на выполнение потока
команд, отличного от того, который выполнялся до сих пор, с последующим
возвратом к исходному коду. Механизм прерываний очень похож на
механизм выполнения процедур. Это на самом деле так, хотя между этими
механизмами имеется важное отличие. Переключение по прерыванию
отличается от переключения, которое происходит по команде безусловного
или условного перехода, предусмотренной программистом в потоке команд
приложения. Переход по команде происходит в заранее определенных
программистом точках программы в зависимости от исходных данных,
обрабатываемых программой. Прерывание же происходит в произвольной
точке потока команд программы, которую программист не может
прогнозировать. Прерывание возникает либо в зависимости от внешних по
отношению к процессу выполнения программы событий, либо при появлении
непредвиденных аварийных ситуаций в процессе выполнения данной
программы. Сходство же прерываний с процедурами состоит в том, что в
обоих случаях выполняется некоторая подпрограмма, обрабатывающая
специальную ситуацию, а затем продолжается выполнение основной ветви
программы.
В зависимости от источника вызывающего прерывание, последние
делятся на три больших класса:
1.
Внешние прерывания могут возникать в результате действий
пользователя или оператора за терминалом, или же в результате
поступления сигналов от аппаратных устройств — сигналов
завершения операций ввода-вывода, вырабатываемых
контроллерами внешних устройств компьютера. Внешние
прерывания называют также аппаратными, отражая тот факт, что
прерывание возникает вследствие подачи некоторой аппаратурой
электрического сигнала, который передается на специальный вход
прерывания процессора. Данный класс прерываний является
асинхронным по отношению к потоку инструкций прерываемой
программы.
66
                          4. ПРЕРЫВАНИЯ

                 «Прерывания названы так весьма удачно,
                 поскольку они прерывают нормальную работу системы».

         Скотт Максвелл. Ядро Linux в комментариях. — К. ДиаСофт, 2000.

                     4.1 Понятие прерывания

      Система прерываний переводит процессор на выполнение потока
команд, отличного от того, который выполнялся до сих пор, с последующим
возвратом к исходному коду. Механизм прерываний очень похож на
механизм выполнения процедур. Это на самом деле так, хотя между этими
механизмами имеется важное отличие. Переключение по прерыванию
отличается от переключения, которое происходит по команде безусловного
или условного перехода, предусмотренной программистом в потоке команд
приложения. Переход по команде происходит в заранее определенных
программистом точках программы в зависимости от исходных данных,
обрабатываемых программой. Прерывание же происходит в произвольной
точке потока команд программы, которую программист не может
прогнозировать. Прерывание возникает либо в зависимости от внешних по
отношению к процессу выполнения программы событий, либо при появлении
непредвиденных аварийных ситуаций в процессе выполнения данной
программы. Сходство же прерываний с процедурами состоит в том, что в
обоих случаях выполняется некоторая подпрограмма, обрабатывающая
специальную ситуацию, а затем продолжается выполнение основной ветви
программы.
     В зависимости от источника вызывающего прерывание, последние
делятся на три больших класса:

     1. Внешние прерывания могут возникать в результате действий
        пользователя или оператора за терминалом, или же в результате
        поступления сигналов от аппаратных устройств — сигналов
        завершения      операций      ввода-вывода,     вырабатываемых
        контроллерами внешних устройств компьютера. Внешние
        прерывания называют также аппаратными, отражая тот факт, что
        прерывание возникает вследствие подачи некоторой аппаратурой
        электрического сигнала, который передается на специальный вход
        прерывания процессора. Данный класс прерываний является
        асинхронным по отношению к потоку инструкций прерываемой
        программы.



                                  66