Полное руководство по Microsoft Windows XP
Шрифт:
Блок-схема, показанная на рис. 13.1, содержит драйвер CDFS (CDFS Driver), который предназначен для организации доступа к компакт-дискам и дискам DVD. Набор файлов DLL этой программы заметно возрастает по объему в Windows XP, поскольку применяется для одновременной поддержки дисков CD-RW и DVD-RAM, в частности для организации записи на компакт-диске и реализации других не менее важных функций. Драйвер CDFS состоит из нескольких файлов, в том числе CDAUDIO.SYS, CDFS.SYS, CDROM.SYS, REDBOOK.SYS и STORPROP.DLL. Но это только верхняя часть айсберга, поскольку указанные файлы связаны с большим числом других файлов, привлекаемых для выполнения различных операций. Windows XP предусматривает инсталляцию драйвера CDFS только после того, как она распознает присутствие компакт-диска или диска DVD. В Windows XP основное различие (для пользователя) при поддержке компакт-диска и диска DVD состоит в использовании в последнем случае дополнительных драйверов
Примечание
Драйвер CDFS операционной системы Windows XP отвечает требованиям стандарта ISO 13346 и, в меньшей степени, требованиям стандарта ISO 9660. Подобный уровень нужен в данном случае для того, чтобы обеспечить одновременную поддержку дисков DVD и CD.
Драйвер декодера DVD
Как и в случае с компакт-дисками, управление для дисков DVD всех трех типов (со статическими данными, стираемыми данными и мультимедиа, включая фильмы) обеспечивается с помощью соответствующих драйверов, в том числе драйверов декодера. Подобные драйверы обычно состоят из нескольких файлов, причем конкретное число файлов зависит от типа декодера DVD. Так, для дисков DVD мультимедийного типа Windows XP обычно использует как минимум файл DVDPLAY.EXE. Эти программы опираются на такие новые функции Windows XP, как API-интерфейс DirectShow (для высококачественного воспроизведения и записи мультимедиа), а также ряд старых функций, например интерфейс управления рабочей средой (Media Control Interface – MSI). Драйвер декодера DVD предусматривает применение нового расширения файла: АХ. Файлы АХ активно взаимодействуют с информационными потоками рабочей среды, например с потоками среды диска DVD, и обеспечивают связь с новыми технологиями ActiveX, предложенными корпорацией Microsoft, скажем с программным приложением ActiveMovie.
Рекомендация
Обеспечиваемый уровень поддержки драйвера для декодера DVD (DVD Decorder Driver) зависит от настройки компьютерной системы. Декодер позволяет быстрее считывать и записывать данные на DVD и уменьшить отвлекаемые на это объемы памяти. Тем не менее в данном случае для поддержки декодера требуются драйверы третьей стороны, поскольку специалисты Microsoft не предусмотрели подобных программ в самой операционной системе Windows XP. В результате многие пользователи жалуются на то, что поставщики их дисков DVD обеспечивают им весьма слабую поддержку, особенно в том, что выходит за рамки Windows 9х. Существует, правда, такая фирма-поставщик, которая стремится обеспечить адекватную поддержку своих пользователей (сайт Sigma Designs Hollywood Plus MPEG Decorder. Я весьма успешно использовал программные продукты этой фирмы совместно с диском Creative PC-DVD и декодером Dxr3. Однако рекомендую сначала убедиться, что ваш плейер фирмы Sigma Designs Hollywood с декодером (той же фирмы), поскольку только в этом случае могут быть обеспечены оптимальные характеристики.
Подсистема ввода-вывода данных
Подсистема ввода-вывода данных (IO Subsystem – IOS) образует самый верхний уровень – уровень блочного устройства (Block Device Layer). В данном случае под блочным устройством (Block Device) системы я подразумеваю любое устройство, которое передает данные в виде упорядоченных по размерам групп или информационных блоков (например, жесткий диск).
Жесткий диск обычно использует информационные блоки совершенно конкретного размера (например, 512 байт). Размер блока определяет число байтов в рамках одной упорядоченной группы сохраненных данных. Другие устройства могут использовать информационные блоки иных размеров. При этом сетевые устройства, накопители на магнитной ленте, дисководы CD/DVD и подобные подпадают под определение блочных устройств системы. Подсистема IOS обеспечивает обслуживание основных устройств системы и их связь с соответствующими компонентами FSD. Так, например, эта подсистема отвечает на передачу запросов от компонентов FSD к различным драйверам устройств, а также за пересылку информации о состоянии этих программ компонентам FSD.
Драйвер для контроля объемов памяти
Драйвер для контроля объемов памяти (Volume Tracking Driver – VTD) управляет всеми съемными устройствами, связанными с компьютерной системой. Если в системе предусматривается использование дискеты, компакт-диска или диска DVD, Windows XP предполагает установить этот драйвер.
Уровень абстрагирования от оборудования
Уровень абстрагирования от оборудования (Hardware Abstraction Layer – HAL) является еще одним базовым компонентом Windows XP. Специалисты Microsoft подготовили драйверы и программные средства таким образом, чтобы имелась возможность легко переносить операционную систему Windows XP на другие платформы. Базовая архитектура Windows XP в этом случае остается той же, однако драйверы низкого уровня оказываются уже другими. На рис. 13.1 показаны компоненты, предназначенные для использования совместно с 32-разрядным процессором фирмы Intel. При переходе к 64-разрядному процессору указанные драйверы должны претерпеть изменения.
Драйвер для поддержки устройств определенного типа
Каждое устройство предусматривает применение драйвера, предназначенного для управления этим устройством. Так, например, драйвер для дисковода жесткого диска не сможет управлять дисководом для дискет. Указанный уровень имеет дело с логическими устройствами, а не с их физическими аналогами. Так, один из подобных драйверов – драйвер для поддержки устройств определенного типа (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).