Каждое устройство предусматривает применение драйвера, предназначенного для управления этим устройством. Так, например, драйвер для дисковода жесткого диска не сможет управлять дисководом для дискет. Указанный уровень имеет дело с логическими устройствами, а не с их физическими аналогами. Так, один из подобных драйверов – драйвер для поддержки устройств определенного типа (Type-Specific Driver – TSD) – управляет всеми дисководами с жесткими дисками, другой драйвер TSD контролирует дисководы для дискет, а третий обеспечивает управление всеми сетевыми устройствами. После преобразования драйвером TSD данные могут передаваться по одному из двух каналов связи, отвечающих соответственно за операции считывания и записи. Windows XP использует один уровень управления для большей части стандартных дисков (дисководов), например для дисководов IDE предусматривается специальный уровень обработки данных.
Драйвер TSD требует формирования особой записи, поскольку поддерживает работу с данными различного типа. Он функционирует практически так же, как и тот драйвер, работу которого я описывал выше для стандартного диска. Тем не менее, поскольку диск CD или DVD должен обеспечивать воспроизведение мультимедийной информации, а также считывание (а в некоторых случаях и запись) мультимедийных данных, он требует применения специального драйвера TSD, более сложного, чем тот, который нужен для взаимодействия с обычным жестким диском. Тот факт, что диски CD и DVD представляют собой съемные устройства, также способствует усложнению этой программы. В отличие от дисководов для дискет, когда необходимо лишь зафиксировать присутствие дискеты в дисководе, использование компакт-диска предполагает не только контроль его наличия, но и контроль типа этого диска. Не следует также забывать об игровых и обучающих программах, когда компакт-диск может содержать одновременно данные и музыкальные фрагменты. Все названные нюансы заметно усложняют драйвер, однако я не собираюсь останавливаться на описании дисков, а лишь хотел бы лишний раз напомнить, что дисководы для компакт-дисков и дисков DVD (равно как и сами эти диски) являются достаточно сложными устройствами и требуют создания специальных условий для нормального функционирования.
Драйверы третьей стороны
Этот компонент блок-схемы (рис. 13.1) соответствует драйверам, предлагаемым фирмами-поставщиками, например при необходимости обеспечить поддержку специальных устройств (скажем, ZIP-диска). Windows XP предусматривает возможность использования различных стандартных драйверов, инсталлируемых на этом уровне. Так, например, для дисковода IDE требуется специальный драйвер от поставщика (Vendor-Supplied Driver – VSD). Для каждого специального устройства, как правило, нужен особый драйвер, позволяющей обрабатывать запросы операционной системы Windows. Драйвер VSD обычно содержит данные о дисководе, например о числе головок записи/считывания и временных интервалах, необходимых для разгона дисковода с дискетой.
Драйвер для порта
Драйвер для порта (Port Driver – PD) обеспечивает связь с устройствами с помощью соответствующего адаптера. Этот адаптер является последним блоком при выводе сообщения операционной системой Windows и соответственно первым при приеме сообщения устройством. Драйвер для порта обычно определяется типом адаптера, при этом один драйвер VSD служит для управления дисководом жесткого диска (например, дисководом IDE), а другой – одним адаптером дисковода (то есть одним портом в терминологии, принятой для Windows XP). Если в компьютерной системе предусматривается использование дисковода IDE, потребуется загрузить программу IDE PD, которая обеспечит связь с соответствующим адаптером (дисковода IDE).
Типичными компонентами уровня IDE PD являются драйверы ATAPI и IDE, а также расширение IDE для шины PCI. Кроме того, драйверы для каждого канала связи IDE поддерживают интерфейс ATAPI и возможность доступа к страницам свойств конфигурации.
Поддержка интерфейса SCSI
В данном случае я объединил драйверы SCSIizer, SCSI Manager и Miniport в рамках одной группы программ поддержки интерфейса SCSI, поскольку они образуют своего рода набор специальных программ. Так, программа SCSIizer, входящая в состав файловой системы, отвечает за использование
SCSI Manager – специальный драйвер, который определяется типом платформы и обеспечивает инсталляцию Windows XP на различных компьютерах без проведения каких-либо существенных изменений. Эта программа преобразует команды, формируемые драйвером SCSIizer, в формат, нормально воспринимаемый драйвером мини-порта.