Главная страница
Навигация по странице:

  • Система прерываний

  • Общее число запросов прерывания

  • Затраты времени на переключение программ

  • Число уровней прерывания

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

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

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

  • пеапиап. ПРЕРЫВАНИЯ. Прерывания прерывания


    Скачать 192.18 Kb.
    НазваниеПрерывания прерывания
    Анкорпеапиап
    Дата07.12.2021
    Размер192.18 Kb.
    Формат файлаpptx
    Имя файлаПРЕРЫВАНИЯ.pptx
    ТипДокументы
    #294458

    ПРЕРЫВАНИЯ

    Прерывания




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

    Система прерываний - это совокупность программных и аппаратных средств, реализующих механизм прерываний.

    Прерывания


    Внешние(аппаратные) прерывания

    События, которые исходят от внешних источников (периферийных устройств) и могут произойти в любой произвольный момент

    Пр.: движение мыши, нажатие клавиши клавиатуры, сигнал от сетевой карты

    Внутренние прерывания (исключения)

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

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

    Внешние прерывания (аппаратные)

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

    На ПК используются от 15 до 64 аппаратных прерываний.

    Функции системы прерываний

    • Распознавание или классификация прерываний
    • Запоминание состояния прерываемой программы
    • Осуществление перехода к прерывающей программе
    • Восстановление состояния прерванной программы
    • Возврат к прерванной программе

    Характеристики системы прерываний

    • Общее число запросов прерывания (входов в систему прерываний)
    • Время реакции – время между появлением запроса прерывания и моментом прерывания текущей программы.
    • Затраты времени на переключение программ - равны суммарному расходу времени на заполнение и восстановление состояния программы.
    • Глубина прерывания – максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов в системе прерываний.
    • Число уровней прерывания (число классов прерывания). В ЭВМ число различных запросов (причин) прерывания может достигать нескольких десятков или сотен. В таких случаях часть запросов разделяют на отдельные классы или уровни.

    Механизм обработки прерываний

    • Установление факта прерывания - прием и идентификация сигнала на прерывание
    • Запоминание состояния прерванного процесса - состояние процесса определяется значением счетчика команд, содержимым регистра процессора, спецификацией режима: пользовательский или привилегированный
    • Управление передается программе обработки прерывания. В этом случае, в счетчик команд заносится начальный адрес подпрограммы обработки прерывания.
    • Сохранение информации о прерванной программе, которую не удалось спасти с помощью действий аппаратуры.
    • Обработка прерывания. Работа может быть выполнена той же подпрограммой, которой было передано управление на 3-ем шаге, но в ОС чаще всего эта обработка реализуется путем вызова соответствующей подпрограммы.
    • Восстановление информации относящейся к прерванному процессу.
    • Возврат в прерванную программу.
    • Первые 3 шага реализуются аппаратными средствами, а остальные – программными.

    Вектор прерывания

    Вектором прерывания называют электрический сигнал, посылаемый на шины процессора.

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

    Каждому уровню прерывания соответствует свой вектор прерывания.

    Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти.

    Приоритеты


    Абсолютный приоритет

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

    Относительный приоритет

    Поступивший запрос является первым кандидатом на обслуживание после завершения выполнения текущей программы.

    Организация вложенных прерываний

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

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



    написать администратору сайта