Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKTsII_obschie.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.21 Mб
Скачать

2.3.3.2. Маскируемые внешние прерывания

Используются для сигнализации о событиях в устройствах. Обработка сигналов запросов прерывания выполняется контроллером прерываний. Контроллер прерываний позволяет маскировать отдельные входы запросов и организовать систему приоритетов запросов от различных входов. На входы контроллеров поступают запросы от системных устройств (системный таймер – IRQ0, клавиатура – IRQ1, CMOS – таймер – IRQ8, сопроцессор – IRQ13), периферийных контроллеров системной платы и от карт расширения Линии запросов прерываний обозначаются как IRQх (Interrupt ReQuest Line). Обрабатываются только при установленном флаге разрешения прерываний IF.

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

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

2.3.4.1. Исправимые внутренние прерывания

Пример: Отсутствие нужной информации в оперативной памяти – Устранение причины – Продолжение выполнения;

2.3.4.2. Неисправимые внутренние прерывания

Пример: Ошибка в программе – Завершение работы программы

2.3.5. Таблица прерываний

IDT (Interrupt Description Table) – таблица дескрипторов прерываний – совокупность элементов (номеров) от 0 до 255 с соответствием прерывания или исключения каждому такому номеру элемента. Поля сброса от 0 до 31 отводятся под исключения с перекрытием системными и аппаратными прерываниями.

Дальние адреса от 32 до 255 – 8-байтные дескрипторы прерываний, которые могут располагаться в любом месте физической памяти.

Вектор прерывания – номер в таблице дескрипторов прерываний

2.3.6. Уровни приоритета прерываний

Высокий уровень

Низкий уровень

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

Исключения

Системный таймер

Маскируемые

внешние

устройства

Магнитный диск

Сетевое оборудование

Терминалы

Немаскируемые

Программные прерывания

Системные вызовы

Рис. 2.3.4. Приоритетность прерываний

Прерывания обрабатываются модулями ОС:

  • Аппаратные прерывания – драйверами, реже специальными модулями ядра;

  • Программные прерывания – процедурами ОС, которые обслуживают системные вызовы;

Диспетчеры прерываний координируют работу отдельных обработчиков прерываний.

Тема 2.4 Обслуживание ввода-вывода

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

Управление вводом/выводом – одна из основных функций любой операционной системы.

Организация ввода/вывода в различных ОС имеет много общего, а реализация сильно отличается от системы к системе.

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