double arrow

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


Прерывания – это механизм, позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния, возникающие при работе процессора. Прерывание обеспечивает принудительную передачу управления от выполняемой программы к соответствующей программе обработки прерывания (ISR – Interrupt Service Routine) при возникновении определенного события. Основная цель введения прерываний – реализация асинхронного режима работы и распараллеливания работы отдельных устройств вычислительной системы.

Механизм прерываний реализуется аппаратно-программными средствами и включает следующие элементы:

1. Прием сигнала на прерывание и его идентификация.

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

3. Управление аппаратно передается подпрограмме обработки прерывания.

4. Обработка прерывания с помощью ISR.

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

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

Рис.3. иллюстрирует, что происходит при возникновении запроса на прерывание.

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

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




Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:

· прерывания от таймера;

· прерывания по вводу/выводу;

· прерывания по нарушению питания.

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

· при нарушении адресации;

· при делении на нуль;

· при наличии в поле кода операции незадействованной двоичной комбинации.

Существуют, наконец, собственно программные прерывания, происходящие по соответствующей команде прерывания: INT(«номер прерывания»).

Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре; они могут возникать одновременно. Выбор одного из них для обработки осуществляется на основе приоритетов (рис.4).

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

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

Для полного понимания принципов создания и механизмов реализации современных ОС необходимо знать архитектуру 32-разрядных микропроцессоров i80×86, применяемых в персональных компьютерах.







Сейчас читают про: