Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
33__33__33__33_ItogOS.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
1.55 Mб
Скачать
  1. Классы прерываний в компьютерах

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

Выделяют следующие основные классы прерываний:

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

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

  1. Программные прерывания отличаются от предыдущих классов тем, что они по своей сути не являются "истинными" (непредсказуемыми) прерываниями. Программное прерывание "запланировано" программистом и возникает при выполнении особой команды процессора, имитирующей прерывание, т.е. переход на новую последовательность инструкций. Например, такой командой в процессоре Pentium является INT, в процессорах Motorola – trap. Причинами использования таких команд являются:

  • желание получить более компактный код программы;

  • необходимость перехода из пользовательского режима в привилегированный;

  • обращение к услугам ОС – системный вызов.

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

Принципы построения систем прерываний:

  • аппаратная поддержка (контроллер прерываний, контроллер DMA, контроллеры внешних устройств, шины подключения внешних устройств, средства микропроцессора);

  • векторный, опрашиваемый и комбинированный способы прерываний;

  • приоритетный механизм обслуживания (с абсолютными и относительными приоритетами);

  • маскирование прерываний;

  • диспетчер прерываний и процедуры обслуживания прерываний.

  1. Состав аппаратных средств систем прерываний компьютеров

Аппаратные средства системы прерываний либо входят в состав CPU и называются тогда блоком прерываний, либо реализуются в виде отдельного устройства, называемого контроллером прерываний. Первый подход является типичным для больших ЭВМ класса Mainframe, второй – для компьютеров на базе микропроцессоров.

При обработке каждого прерывания должна выполняться следующая последовательность действий:

  • восприятие запроса на прерывание;

  • запоминание состояния прерванного процесса, определяемое значением счетчика команд и других регистров процессора;

  • передача управления прерывающей программе, для чего в счетчик команд заносится адрес, соответствующий данному типу прерывания;

  • обработка прерывания;

  • восстановление прерванного процесса.

В большинстве ЭВМ первые три этапа реализуются аппаратными средствами, а остальные – блоком программ обработки прерываний операционной системы.

К аппаратным средствам системы прерываний относятся (Речь идет о 32-разрядных микропроцессорах i80x86):

      выводы микропроцессора - на них формируются сигналы, извещающие микропроцессор либо о том, что некоторое внешнее устройство «просит уделить ему внимание» (INTR), либо о том, что требуется безотлагательная обработка некоторого события или катастрофическая ошибка (NMI)

      INTR - вывод для входного сигнала запроса на прерывание,

      NMI - вывод для входного сигнала немаскируемого прерывания

      INTA - вывод для выходного сигнала подтверждения получения сигнала прерывания микропроцессором (этот сигнал поступает на одноименный вход микросхемы конроллера 8259А;

      программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; обычно используют две последовательно соединенные микросхемы, поэтому кол-во возможных источников внешних прерываний до 15 плюс одно немаскируемое прер.; именно он формирует номер вектора прерывания и выдает его шину данных);

      внешние устройства (таймер, клавиатура, магнитные диски и т.п.)

Лекция2

аппаратная поддержка (контроллер прерываний, контроллер DMA, контроллеры внешних устройств, шины подключения внешних устройств, средства микропроцессора);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]