|
|
|
|
Типы драйверов устройств
Существует два типа драйверов устройств, именованные и неименованные, называемые соответственно драйверами символьных устройств и драйверами
блоковых устройств. Различие между ними гораздо глубже, чем способность иметь имя или заменяемость. Кроме
того, что блоковые драйверы предназначены для поддержки дисковых
устройств, предполагается,что один блоковый драйвер может поддерживать более одного дисковода. Команды ввода/вывода для таких
драйверов обеспечивают возможность доступа к отдельным секторам
и, если не задан атрибут NONIBM (также известный как NONFAT),
предполагается, что драйвер должен поддерживать стандартную для
MS-DOS структуру диска, включая FAT (таблицу распределения диска) и директории.
Откровенно говоря, названия "символьный" и "блоковый" не совсем точны, так как символьный драйвер тоже может поддерживать
блоковый режим передачи данных. Более того, нельзя сказать, что
символьные драйверы обеспечивают последовательный доступ, а блочные драйверы обеспечивают прямой доступ, так как можно спроектировать символьный
драйвер так, чтобы он поддерживал прямой доступ к устройству (если, конечно, он может работать в таком режиме.
Оставив пока вопрос о том, что же такое символьный драйвер и
что такое блоковый драйвер, обсудим некоторые способы работы с
драйверами устройств через MS-DOS. Это даст нам некоторые соображения о том, какой тип следует выбрать, если Вы желаете написать
драйвер для какого-либо приложения.
|
|