Шрифт:
Интервал:
Закладка:
Примечание
Обычно я использую компакт-диск и диск DVD для типичных задач, поскольку число подобных драйверов уже достаточно велико. В особых случаях я предпочитаю работать с дисками CD-ROM, CD-RW, DVD-ROM и DVD-RAM: эти диски также могут применяться в компьютерной системе. Я не буду подробно рассматривать достоинства и недостатки указанных дисков: они пока еще не поддерживаются международными стандартами, демонстрируют определенную нестабильность характеристик и не нашли широкого распространения среди пользователей.
Блок-схема, показанная на рис. 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 состоит в использовании в последнем случае дополнительных драйверов для декодера DVD, которые позволяют воспроизводить данные с дисков DVD и компакт-дисков с помощью одних и тех же дисководов. В этом случае все компоненты FSD взаимодействуют с Диспетчером IFS и обеспечивают выдачу запросов на те уровни файловой системы, которые непосредственно связаны с соответствующими устройствами.
...Примечание
Драйвер 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 http://www.sigmadesigns.com/support/downloadhollywoodpluswin2000.html). Я весьма успешно использовал программные продукты этой фирмы совместно с диском 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 предполагает установить этот драйвер. В то же время Windows XP не требует выполнения инсталляции для рабочей станции, где не применяются съемные диски, или может использовать локальные и сетевые драйверы. Драйвер VTD предназначен для выполнения всего одной базовой функции: контроля за состоянием съемного устройства памяти (диска) и информирования относительно имеющих место изменений. Именно этот драйвер формирует сообщение при изъятии дискеты из дисковода (например, до завершения процесса записи данных).
Уровень абстрагирования от оборудования
Уровень абстрагирования от оборудования (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 (равно как и сами эти диски) являются достаточно сложными устройствами и требуют создания специальных условий для нормального функционирования.
- Windows Vista. Для профессионалов - Роман Клименко - Программное обеспечение
- Знакомьтесь: Windows 7 - Владимир Пташинский - Программное обеспечение
- Windows Vista - Сергей Вавилов - Программное обеспечение
- Linux From Scratch - Gerard Beekmans - Программное обеспечение