Вопрос 55: Виды драйверов
Драйвер - специализированный программный модуль, управляющий внешним устройством.
Драйверы обеспечивают единый интерфейс для доступа к различным устройствам.
Варианты написания драйвера:
- драйвер в собственной программе
Непосредственно написание драйвера на уровне битов портов ввода-вывода и включение его в собственную программу; используется в случае редко используемых драйверов и специализированных машин (малоперспективно).
- в оверлейном режиме
Подключение драйвера в оверлейном режиме (сокращение занимаемой области памяти).
Оверлейный режим - это такой режим работы программы, когда программа в процессе работы вытесняет ряд страниц памяти на жесткий диск, а потом их подгружает по мере необходимости.
- как резидентного обработчика прерываний
Написание драйвера как резидентного обработчика прерываний. Достоинство: доступен всем программам. Недостаток: как правило, доступен только из ассемблера.
- устанавливаемого в ОС драйвера
Создание устанавливаемого в операционной системе драйвера, который включается в файл конфигурации config.sys с помощью команды типа device = path\my_driver
Хорош тем, что драйвер полностью поддерживается средствами операционной системы. Соответственно к нему применимы команды операционной системы вида: copy a:\ my_driver c:\drv
Во-вторых, с ним можно работать из языков высокого уровня с помощью операций работы с файлами.
Устанавливаемые драйверы бывают двух типов: блочные и символьные. Первые используют файловую организацию и передачу данных блоками (обычно применяются для работы с дисковыми накопителями). Вторые используют посимвольную передачу данных (она проще) и применимы к любым внешним устройствам.