Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Менеджер (диспетчер) ввода-вывода.



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

назначения

• Они организуют согласованную работу всех остальных компонентов ПВВ и взаимодействие с пользовательскими процессами и другими подсистемами ОС

• Эти функции распределены по всем уровням, образуя оболочку, которую называют менеджером ввода-вывода.

Верхний слой менеджера ввода-вывода составляют соответствующие системные вызовы, принимающие от

процессов запросы на ввод-вывод и переадресующие их соответствующим модулям и драйверам

• Также они возвращают процессам результаты операций ввода-вывода

 

Нижний слой менеджера реализует непосредственное взаимодействие с контроллерами устройств, экранируя

драйверы от особенностей аппаратной платформы

• Также в состав менеджера может входить диспетчер прерываний

• Примеры подобных менеджеров - менеджер ввода-вывода Windows NT/2000/XP/2003 и среда Streams,

существующая либо поддерживаемая многими версиями Unix, за исключением Linux.

 

Менеджер ввода-вывода Windows NT/2000/XP организует взаимодействие между модулями

с помощью пакетов запросов ввода-вывода – IRP

• Получив запрос от системного вызова, менеджер формирует IRP и передает его нужному драйверу, а тот после выполнения запрошенной операции возвращает менеджеру ответ в виде другого IRP

• Менеджер может передать этот IRP другому драйверу

• Менеджер позволяет драйверам задавать взаимосвязи, и на основании информации о них и происходит передача IRP

 

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

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

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

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

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

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

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

 

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

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

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

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

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

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

 

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

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

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

 

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

до 5)

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

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

 

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

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

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

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

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

файлов и т.д.

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

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

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

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

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

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

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

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

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

 

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

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

 


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 345; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь