Аппаратные интерфейсы ПК

         

Системная поддержка устройств хранения


Дисковая память имеет стандартную поддержку на уровне BIOS и операционной системы. Поддержка дисков со стороны BIOS заключается в предоставлении выше­стоящим уровням программного обеспечения возможности чтения и записи секто­ров диска, форматирования трека и выполнения вспомогательных функций. Эти возможности предоставляются программным вызовом прерывания BIOS Int 13h — дискового сервиса. Дисковый сервис BIOS предназначен для изоляции вышесто­ящего ПО (ОС и приложений) от подробностей реализации дисковой системы.

Дисковый сервис Int 13 h работает на уровне физическихустройств, называемых так­же физическими приводами (physical drive). Традиционный дисковый сервис имеет программный интерфейс, сохранившийся еще со времен IBM PC/XT. Он позволяет оперировать с дисками размером до 528 Мбайт (см. [1,4,9]). Когда появились диски большего размера, в традиционный дисковый сервис ввели расширение (алгоритмы преобразования), позволяющее преодолеть этот барьер и, теоретически, работать

9.4. Системная поддержка устройств хранения____________________________ 403

с дисками объемом до 8,4 Гбайт. Для работы с большими дисками введены новые функции BlOSlnt 13hc интерфейсом, совершенно не похожим на традиционный.

Операционная система предоставляет прикладным программам сервисы более сложные, чем функции BIOS, обеспечивая доступ к файловой системе диска. Са­мый низкий уровень обращения, допускаемый операционной системой, опериру­ет с секторами логических дисков, или приводов (logical drive), ассоциированными с именем устройства (А:, В:, С:,..., Z:). Один физический диск (жесткий) может содержать несколько логических дисков. На физическом диске могут присутство­вать системные области (MBR и резервированные секторы), доступ к которым операционная система не предоставляет.

Для работы утилит и приложений с дисковой памятью имеется несколько уров­ней сервиса.

¦ Возможно обращение к контроллеру дисков на уровне регистров путем зада­

ния адреса блока и количества секторов, требуемых для передачи.
Это самый

производительный способ обмена данными, но он требует знания как органи­

зации разделов диска и файловой системы, так и контроллера диска (его сис­

темы команд). Доступ обеспечивается ко всем элементам, кроме блоков, за­



крытых командой Set Max Address (для дисков АТА). При этом обходится

фаза трансляции геометрии, выполняемая, в общем, по усмотрению BIOS.

¦     Сервисы BIOS Int 13h также позволяют получить неограниченный доступ к

диску, но если используются традиционные вызовы (функции с номерами

ниже 40h), то доступны лишь диски объемом до 8,4 Гбайт (при трансляции гео­метрии) или до 528 Мбайт (без трансляции). За абстрагирование от системы команд контроллера приходится расплачиваться некоторым снижением про­изводительности, связанным с накладными расходами программного интер­фейса.

¦     Используя интерфейс функций DOS, можно получить доступ к любому секто­ру логического диска, указав лишь его логическое имя, по функциям чтения/записи абсолютных секторов. Но при этом первым доступным сектором (логи­ческий адрес 0) является загрузочный сектор логического диска, а секторы с таб­лицами разделов и те, что не попадают в разделы логических дисков, оказы­ваются недоступными. Для осмысленного доступа к данным необходимо знать структуры FAT и каталогов, а риск «наломать дров», вплоть до полной потери данных, довольно велик.

¦     И наконец, интерфейс файловой системы ОС позволяет довольно легко созда­

вать, искать и удалять файлы и каталоги, выполнять чтение и запись файлов

целиком или частично, а также некоторые другие вспомогательные функции. При

этом от пользователя данного интерфейса скрываются все тонкости работы с FAT и элементами каталогов (и конечно же, все премудрости нижних уровней).

Прикладные программы и утилиты изолируют пользователя от всех этих тонкостей, что позволяет ему сконцентрировать внимание на решении своих смысловых задач.


Уровень, на котором программа обращается к дискам, выбирается программистом из соображений минимальной достаточности: чем выше уровень сервиса, тем легче

404_______________________________ Глава 9. Интерфейсы устройств хранения

достичь совместимости с остальным ПО (предоставляется меньше возможностей для совершения ошибок). Чем ниже уровень сервиса, тем больше знаний нужно вложить в программу, чтобы она общалась с диском не наперекор общим правилам.

Поскольку CD-ROM по организации данных (файловой системе) существенно отличается от традиционных дисков (гибких и жестких), для обеспечения «про­зрачного» доступа приложений к файлам на CD-ROM требуются специальные программные средства. Несмотря на возможность загрузки ОС с CD-ROM, реа­лизованную в современных версиях BIOS, полной поддержки доступа к CD-ROM (такой, как к обычным дискам) BIOS не предоставляет. Приложениям доступ к CD-ROM обеспечивают только сервисы операционной системы, встроенные в ОС или загружаемые.

Для обеспечения загрузки ОС с CD-ROM фирмы Phoenix и IBM выпустили спе­цификацию «El Torito Bootable CD-ROM Format Specification», версия 1.0 была опубликована в январе 1995 г. Цель спецификации — обеспечить возможность загрузки ОС и приложений с CD-ROM средствами BIOS (на «голой» машине). При этом имеются следующие возможности:

¦     загрузка ОС по выбору из загрузочного каталога (Boot Catalog), находящегося на CD-ROM;

¦     предоставление выбора конфигурирования CD-ROM в виде жесткого диска

или дискеты;

¦     переименование существующих приводов (если необходимо);

¦     использование существующей технологии BIOS (доступ в режиме LBA) для обращения к кодам и данным;

¦     совместимость с приложениями DOS и Windows, использующими функции

Int 13h.

Спецификация расширяет традиционный набор функций BIOS, она ориентиро­вана на приводы с интерфейсом ATAPI и SCSI.


Содержание раздела