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


Традиционные особенности и функции, выполняемые драйвером состоят в следующем:

· входит в состав ядра ОС, работая в привилегированном режиме;

· непосредственно управляет внешним устройством, взаимодействуя с его контроллером с помощью команд ввода – вывода компьютера;

· обрабатывает прерывания от контроллера;

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

· взаимодействует с другими модулями

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

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

Количество уровней драйверов обычно не ограничивается. На практике используется от 2 до 5 уровней.

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

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

 

 

 


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

Эти абстракции создаются на более высоком уровне . Они могут поддерживать несколько файловых систем одновременно. Для этого в ОС устанавливается несколько высокоуровневых драйверов (UFS, NTFS, FAT). Они работают с общими аппаратными драйверами, но по-своему организуют файловую систему пользователям и прикладными процессам.

Для унификации представления различных файловых систем может использоваться общий драйвер верхнего уровня VFS(Virtual File System). Такой драйвер используется, например в системах UNIX.

В унификацию драйверов большой вклад внесла ОС UNIX. В ней все драйверы разделены на 2 больших класса; блок – ориентированные и байт – ориентированные.

Например, драйвера графических и сетевых устройств относятся к байт – ориентированным, а драйверы, управляющие устройствами прямого доступа, которые хранят информацию в блоках фиксированного размера, - к блок – ориентированным (диск).

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

 

 

Специальные файлы

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

Со специальным файлом можно работать так же, как и с обычным – открывать, читать или записывать байты, а после завершения операции закрывать.

Для этого используется те же системные вызовы, что и для работы с обычными файлами; open, create, read, write, close.

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

 

 



Дата добавления: 2016-06-15; просмотров: 3185;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.