Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы ответы.docx
Скачиваний:
2
Добавлен:
16.01.2025
Размер:
50 Кб
Скачать

Алгоритм выполнения прерываний. Главные функции механизма прерываний

Механизм обработки прерываний независимо от архитектуры вычислительной системы подразумевает выполнение определенной последовательнотси шагов

1. Установление фатка прерывания

2. Запоминание состояния прерванного вычисленя

3. Аппаратная передача управления на подпрограмму обработки прерываний

4. Переключение на обработчик прерываний

5. Выполнение обработчика прерывания

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

6. Восстановление информации, относящейся к прерваннму процессу

7. Возврав на прерваннную программу

Шаг 1-3 реализуется аппаратно, 4-7 — программно

Главная функция функция механизма прерывания:

1. Распознавание и классификация прерываний

2. Передача управления соотв. Обработчику прерываний

3. Корректное возвращение к прерванной программе

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

Классификация прерываний, возникающих при работе вычислительной системы

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

1. Прерывания таймера

2. Прерывания от внешних устройств

3. Прерывания по нарушения питания

Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными. Например: при нарушении адрессации, при нличии кода операции, не завктсвована в обычной

При делении на ноль

Вледствие в возникновения

Средств контроля

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

Еще один вид прерываний — программные прерывания. Эти прерывания происходят по соответствующей команде прерывания. Т.е. по этой команде прерывания процессор осуществялет практически те же действия, что и при обычных внутренних прерываниях. Этот механизм был специально введен для того, чтобы переключение на системные программные модули происходило не просто как переход на подпрограмму, а таким же образом как обычное прерывание. Этим, прежде всего, обеспечивается автоматическое переключение процессора в привилегированный режим с возможностью исполнения любых команд. Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре, они могут возникать одновременно. Выбор одного из них для обработки осуществляется на основе приоритетов, предписанных каждому прерыванию. Так прерывания от схем контроллер-процессор должны обладать наивысшим приоритетом. Учёт приоритета может быть встроен в технические средства, а также определяться операционной системой. т. е. кроме аппаратно реализованных приоритетов прерывания, большинство вычислительных машин и комплексов допускает программно-аппаратное управление порядком обработки сигналов прерывания.

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