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

37. Многоуровневые драйверы.

Традиционно под драйвером понимается программный модуль, который:

– входит в состав ядра ОС

– непосредственно управляет внешним устройством, взаимодействуя с его контроллером

– обрабатывает прерывания от контроллера устройства

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

– взаимодействует с другими модулями ядра ОС с помощью строго оговоренного интерфейса и т.п.

По мере развития ОС и усложнения структуры ПВВ, наряду с традиционными драйверами в ОС

появились высокоуровневые драйверы

• Они располагаются в общей модели ПВВ над традиционными драйверами

• Традиционные драйверы стали называть аппаратными драйверами

• Они освобождены от высокоуровневых функций и занимаются только низкоуровневыми операциями,

результатами которых могут пользоваться более высокие уровни.

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

• Если различным программам необходимо работать с логическими моделями одного и того же физического устройства, то для этого в системе устанавливается несколько драйверов на одном уровне, которые

работают над одним аппаратным драйвером.

Количество уровней драйверов в ПВВ обычно не ограничивается каким-либо пределом (обычно от 2

до 5)

• Несколько драйверов, управляющих одним устройством, но на разных уровнях, можно рассматривать как набор

отдельных драйверов или как один многоуровневый драйвер.

В подсистеме сетевых устройств аппаратными являются драйверы сетевых адаптеров, которые выполняют функции канальных протоколов, таких как Ethernet, Frame Relay, ATM и других технологий

• Эти драйверы выполняют простые функции – они организуют передачу кадров данных между устройствами одного сегмента сети

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

Над слоем сетевых протоколов располагается слой драйверов транспортных протоколов, таких как TCP/UDP, SPX или NetBEUI, которые отвечают за гарантированную связь между компьютерами сети • Еще выше расположен слой драйверов протоколов прикладного уровня (http, ftp и SMB и другие)

• Они предоставляют пользователям сети конечные услуги по доступу к гипертекстовой информации, архивам

файлов и т.д.

Необязательно все модули ПВВ оформляются в виде драйверов

• Например, в подсистеме управления дисками обычно имеется дисковый кэш, который служит для кэширования

блоков дисковых файлов в ОП

• Достаточно специфические функции делают нецелесообразным оформление его в виде драйвера,

взаимодействующего с другими модулями ОС.

Аппаратные драйверы после запуска ОВВ должны своевременно реагировать на завершение контроллером заданного действия

• Для решения этой задачи они взаимодействуют с системой прерываний

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

драйверов или драйверов вышележащего уровня.

Не все процедуры аппаратного драйвера вызываются по прерываниям, поэтому драйвер обычно имеет определенную структуру, в которой выделяется процедура обработки прерываний (Interrupt Service Routine, ISR)

• Эта процедура вызывается при поступлении запроса от соответствующего устройства диспетчером прерываний.

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