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

UptoLike

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

при нарушении адресации (в адресной части выполняемой команды указан запре-
щенный или несуществующий адрес, обращение к отсутствующему сегменту или
странице при организации механизмов виртуальной памяти);
при наличии в поле кода операции незадействованной двоичной комбинации;
при делении на нуль;
при переполнении или исчезновении порядка;
при обнаружении ошибок четности, ошибок в работе различных устройств аппара-
туры средствами контроля.
Могут еще существовать прерывания при обращении к супервизору ОС - в некото-
рых компьютерах часть команд может использовать только ОС, а не пользователи. Со-
ответственно в аппаратуре предусмотрены различные режимы работы, и пользователь-
ские программы выполняются в режиме, в котором эти привилегированные команды не
исполняются. При попытке использовать команду, запрещенную в данном режиме, про-
исходит внутреннее прерывание и управление передается супервизору ОС. К привиле-
гированным командам относятся и команды переключения режима работа центрального
процессора.
Наконец, существуют собственно программные прерывания. Эти прерывания
происходят по соответствующей команде прерывания, то есть по этой команде процес-
сор осуществляет практически те же действия, что и при обычных внутренних прерыва-
ниях. Данный механизм был специально введен для того, чтобы переключение на сис-
темные программные модули происходило не просто как переход в подпрограмму, а
точно таким же образом, как и обычное прерывание. Этим обеспечивается автоматиче-
ское переключение процессора в привилегированный режим с возможностью исполне-
ния любых команд.
Сигналы, вызывающие прерывания, формируются вне процессора или в самом
процессоре; они могут возникать одновременно. Выбор одного из них для обработки
осуществляется на основе приоритетов, приписанных каждому типу прерывания. Оче-
видно, что прерывания от схем контроля процессора должны обладать наивысшим при-
оритетом (если аппаратура работает неправильно, то не имеет смысла продолжать обра-
ботку информации). На рис.3.3 изображен обычный порядок (приоритеты) обработки
прерываний в зависимости от типа прерываний [2].
Рис.3.3. Распределение прерываний по уровням приоритета
Учет приоритета может быть встроен в технические средства, а также определяться
операционной системой, то есть кроме аппаратно реализованных приоритетов прерыва-
ния большинство вычислительных машин и комплексов допускают программно-
81
•  при нарушении адресации (в адресной части выполняемой команды указан запре-
   щенный или несуществующий адрес, обращение к отсутствующему сегменту или
   странице при организации механизмов виртуальной памяти);
• при наличии в поле кода операции незадействованной двоичной комбинации;
• при делении на нуль;
• при переполнении или исчезновении порядка;
• при обнаружении ошибок четности, ошибок в работе различных устройств аппара-
   туры средствами контроля.
     Могут еще существовать прерывания при обращении к супервизору ОС - в некото-
рых компьютерах часть команд может использовать только ОС, а не пользователи. Со-
ответственно в аппаратуре предусмотрены различные режимы работы, и пользователь-
ские программы выполняются в режиме, в котором эти привилегированные команды не
исполняются. При попытке использовать команду, запрещенную в данном режиме, про-
исходит внутреннее прерывание и управление передается супервизору ОС. К привиле-
гированным командам относятся и команды переключения режима работа центрального
процессора.
     Наконец, существуют собственно программные прерывания. Эти прерывания
происходят по соответствующей команде прерывания, то есть по этой команде процес-
сор осуществляет практически те же действия, что и при обычных внутренних прерыва-
ниях. Данный механизм был специально введен для того, чтобы переключение на сис-
темные программные модули происходило не просто как переход в подпрограмму, а
точно таким же образом, как и обычное прерывание. Этим обеспечивается автоматиче-
ское переключение процессора в привилегированный режим с возможностью исполне-
ния любых команд.
     Сигналы, вызывающие прерывания, формируются вне процессора или в самом
процессоре; они могут возникать одновременно. Выбор одного из них для обработки
осуществляется на основе приоритетов, приписанных каждому типу прерывания. Оче-
видно, что прерывания от схем контроля процессора должны обладать наивысшим при-
оритетом (если аппаратура работает неправильно, то не имеет смысла продолжать обра-
ботку информации). На рис.3.3 изображен обычный порядок (приоритеты) обработки
прерываний в зависимости от типа прерываний [2].




                  Рис.3.3. Распределение прерываний по уровням приоритета

     Учет приоритета может быть встроен в технические средства, а также определяться
операционной системой, то есть кроме аппаратно реализованных приоритетов прерыва-
ния большинство вычислительных машин и комплексов допускают программно-

                                            81