Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
а шпора, шпора, шпора.docx
Скачиваний:
5
Добавлен:
26.04.2019
Размер:
72.83 Кб
Скачать

17 Обработка прерываний

Действие, стимулирующее выполнение одной строки процедур-прерывание.2 класса прерываний:

1)внутренние, инициируется состоянием центрального процессора или команды2)внешние, … сигналомПереход к процедуре прерывания осуществляется из любой программы, а после выполнения процедуры прерывания обязательно происходит возврат в прерываемую программу.Прерывание вынуждает процессор прекратить выполнение одной последовательности команд м начать выполнение другой. При этом адрес очередной команды, которая должна выполняться после возникновения прерывания выбирается из таблицы. Таблица векторов прерываний, в ней записано 256 адресов.Прерывание возникает тогда, когда устройство, требующее прерывание посылает сигнал на одну из шин. Система прерывания выявляет наличие сигнала на шине и реагирует на него. Процессор определит, что на шине INTR появился 0, запоминает адрес команды, которая должна выполняться следующей.Программное прерываниеПрерывание могут иметь место при выполнении специальной команды: «прервать, используя адрес х». Число «Х» указывает на один из адресов таблицы векторов прерывания.Система прерываний любого ПК является его важнейшей частью, позволябщей быстро реагировать на события, обработка которых должна выполняться немедленно. Рассмотрим в общих чертах компоненты этой системы.Сигналы аппаратных прерываний поступают в процессор не непосредственно, а через 2 контроллера прерывания. Один-ведущий, второй-ведомый. 2 контроллера исп для увеличения количества внешних устройств( один обслуживает 8 устройств). Основная цункция контроллера-передача сигналов запроса прерывания на единственный выход.

18 Системы ввода-вывода

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

Система ввода/вывода управляется пакетами запроса ввода/вывода (I/O Request Packet, IRP). Каждый запрос ввода/вывода представляется в виде пакета IRP во время его перехода от одной компоненты системы ввода/вывода к другой. IRP - это структура данных, управляющая обработкой операции ввода/вывода на каждой стадии ее выполнения.

В систему ввода/вывода входят следующие компоненты:1. Диспетчер ввода/вывода (I/O manager). Реализует средства ввода/вывода, не зависящие от типа устройства, и устанавливает модель для ввода/вывода исполнительной системы. Диспетчер ввода/вывода осуществляет создание, чтение, запись, установку и получение информации, и многие другие операции над файловыми объектами. Диспетчер ввода/вывода реализует асинхронную подсистему ввода/вывода, основанную на передаче пакетов запроса ввода/вывода (I/O Request Packet, IRP). Диспетчер ввода/ вывода также отвечает за поддержку и обеспечение операционной среды для драйверов.2. Файловые системы. Драйверы, принимающие запросы файлового ввода/вывода и транслирующие их в запросы, привязанные к конкретному устройству. Сюда же входят сетевые файловые системы, состоящие из двух компонентов: сетевого редиректора (network redirector), реализуемого как драйвер файловой системы и передающего удаленные запросы ввода/вывода на машины в сети, и сетевого сервера (network server), являющегося обычным драйвером, принимающим и обрабатывающим такие запросы.3. Сетевые драйверы, которые могут загружаться в ОС и рассматриваться как часть системы ввода/вывода.4. Драйверы устройств. Низкоуровневые драйверы, напрямую работающие с оборудованием.Диспетчер ввода/вывода (I/O manager) определяет порядок, по которому запросы ввода/вывода доставляются драйверам. В обязанности диспетчера входит:1. Получение запроса на ввод/вывод и создание пакета IRP.2. Передача IRP соответствующему драйверу. Драйвер, получив IRP, выполняет указанную в нем операцию ввода/вывода, и, либо возвращает его диспетчеру ввода/ вывода для завершения обработки, либо передает другому драйверу для продолжения операции ввода/вывода.3. Сопровождение IRP по стеку драйверов.4. Завершение IRP по окончании операции ввода/вывода и возвращение результатов обработки инициатору запроса ввода/вывода.5. Также диспетчер ввода/вывода реализует общие процедуры, к которым обращаются драйверы во время обработки ввода/вывода, и предоставляет системные сервисы, позволяющие защищенным подсистемам реализовать свои API ввода/вывода.