ISO 9660 обеспечивает логическую структуру для межплатформенного использования дисков CD-ROM. Этот стандарт создал условия для быстрого роста промышленного производства CD-ROM, позволяя разработчикам охватывать CD-ROM, работающие на таких платформах,
как DOS, Windows, Macintosh, OS/2, UNIX и VAX. Большинство программных инструментальных средств макетирования CD-R полностью поддерживают ISO 9660 и часто содержат тестовые утилиты для получения гарантии, что образ диска не выходит из ограничений этого стандарта. Значительная часть стандартных дисков CD-ROM производится с использованием ISO 9660 для организации их файловой структуры. ISO 9660 охватывает два логических слоя четырех-слойной архитектуры CD-ROM, преобразуя данные, содержащиеся в отдельных секторах, в иерархическое расположение файлов, каталогов и томов.
"Франкфуртская группа"
В 1991 г. во Франкфурте (Германия) собрались девять компаний, обеспокоенных будущим CD-R. Этими компаниями были Sun Microsystems, Jet Propulsion Laboratory, DEC, Sony, Philips, Meridian Data, Hewlett-Packard, Ricoh и Kodak. Они решили устранить некоторые недостатки первоначальной спецификации Оранжевой книги путем более подробного описания процесса записи, а также расширить некоторые аспекты файловой системы стандарта ISO 9660. Это совещание разработало документ, известный как предложение франкфуртской группы.
Проблема осуществления многократных записей на диск, который обычно имеет фиксированную файловую структуру, решалась следующим образом:
Вместо одного фиксированного набора, описывающего содержание диска и расположенного в секторе 16 первой дорожки, для записи паспорта тома разрешалось использовать сектор 16
каждой дорожки.
Дорожка 1 остается пустой до тех пор, пока не будет записано все содержимое диска, после чего эта дорожка может быть заполнена главным паспортом тома.
Согласно этому предложению, накопитель CD-R должен иметь возможность чтения существующих данных и записи новых, чтобы он мог обнаруживать содержимое, соответствующее уже проведенным сеансам записи. Прежние записывающие и воспроизводящие накопители CD часто не могут читать ничего, кроме первого сеанса, и поэтому их нельзя использовать при новом подходе к процессу записи.
Франкфуртская группа также предложила схему поддержки файлов системы UNIX. Эта часть предложения установила порядок использования определения расширенных атрибутов, которое требуется для UNIX, чтобы работать с каталогами и файлами. Еще одно расширение,
названное Rock Ridge Extensions, уточняет стандарт ISO 9660 для его использования с UNIX, применяя метод, известный как System Use Sharing Protocol (протокол совместного использования систем). Эта конструкция позволяет всем расширениям файловых систем сосуществовать на одном и том же компакт-диске, и файловая структура на нем становится более гибкой и устойчивой.
Применения стандарта
ISO 9660 почти повсеместно используется как основная файловая система для хранения данных на CD-ROM независимо от используемой платформы. Если у вас нет веской причины для использования файловой структуры определенной операционной системы или если вам не нужно разрабатывать собственное приложение для специальной цели, мы рекомендуем макетировать все CD-ROM, используя ISO 9660.
Реализация стандарта ISO 9660
Для обеспечения независимости от платформ ISO 9660 налагает ряд ограничений на имена файлов (с правилами, касающимися разрешенных символов и длин имен файлов) и содержит другие соглашения по файловым системам. Многие из программных приложений для макетирования дисков обеспечивают вывод на экран образа CD-ROM или виртуального образа, чтобы убедиться, что данные, записанные на CD по стандарту ISO 9660, не нарушают его спецификаций. Проверьте, обеспечивает ли ваш программный пакет вывод образа диска на экран до начала сеанса записи. Если нет, то проверьте ограничения, описываемые ниже в этом разделе.
Особенности стандарта ISO 9660
ISO 9660 представляет собой единую файловую систему, предназначенную для использования под управлением многих различных операционных систем. В отличие от обычной файловой системы, которая должна динамически обновляться и изменяться, когда операционная
система добавляет или удаляет файлы, ISO 9660 описывает среду только для чтения, а именно CD-ROM.
Первоначальное описание ISO 9660 должно было расшириться в Оранжевой книге, чтобы учесть дополнительные возможности реализации записываемого компакт-диска. Это расширение позволяет магнитооптическим носителям принимать изменения в структуре файлов и проводить многосеансовые записи на компакт-диск (где файловая структура изменяется по мере завершения каждой
операции записи в течение сеанса).
Первоначальные спецификации для ISO 9660 претерпели ряд изменений, улучшающих поддержку файлов операционных систем UNIX и Macintosh, a также делающих доступ к дискам CD-ROM под управлением указанных систем более прозрачным.
Одна файловая система - много платформ
Проблемы, которые встали перед разработчиками стандарта ISO 9660, имели двойную природу:
Накопители CD-ROM не могут обращаться к данным очень быстро, а извлечение файлов происходит гораздо дольше, чем из накопителей на жестких дисках.
Каждая из обозначенных для поддержки платформ использует свои собственные соглашения для файлов, каталогов и томов.
Как вы, возможно, помните данные, хранимые на компакт-диске, располагаются с использованием абсолютного времени, - комбинации времени (минуты и секунды) и номера сектора (от 0 до 98). Эта система точного указания местоположения данных должна
быть согласована с файловой системой, которая может поддерживать требования большинства компьютерных операционных систем.
Главный паспорт тома, находящийся в логическом секторе 16 (или 00:02:16 по абсолютному времени) содержит главные характеристики диска формата ISO 9660 и дает указатели на
начало корневого каталога (к которому привязана иерархическая файловая система) и таблицу пути (индексированный список содержимого каталогов на диске). Таблица пути служит в качестве ускоренного способа нахождения пунктов каталога.
В этой структуре применяются следующие основные правила и соглашения:
Имена файлов и каталогов в ISO 9660 ограничены 8 символами для уровня 1 и 30 символами для уровней 2 и 3.
Файлы могут иметь 3-символьное расширение, но расширения нельзя использовать в именах каталогов (в отличие от DOS, которая это позволяет).
Разрешенными символами являются следующие: от А до Z, от 0 до 9 и символ подчеркивания (_). Заметьте, что буквенные символы должны быть прописными.
Структура каталогов может включать максимум 8 уровней.
Номера версий, следующие за именем файла, являются необязательными. Номера версий могут лежать в пределах от 1 до 32767. (Номера версий, появляющиеся после имен файлов, отделяются точкой с запятой. Так как UNIX не допускает использование точки с запятой как части имени файла, разработчики обычно используют некоторую форму преобразования, чтобы замаскировать эти символы от операционной системы UNIX.)
Общее число символов, определяющих путь к файлу в последовательности подкаталогов, равно 256.
Каталоги сортируются в алфавитно-цифровом порядке. Первыми сортируются цифровые части (от 0 до 9). Последними сортируются подчеркивания (_).
Есть два способа, которыми файл может быть найден в указанной файловой структуре. Контроллер накопителя CD-ROM может либо следовать по пути в иерархии каталогов, пока требуемый файл не будет найден, либо обратиться к независимо скомпилированному
списку путей, который служит указателем для всех файлов на диске.
Организация файлов на многоплатформенных дисках
При создании многоплатформенного диска по стандарту ISO 9660 обычно требуется создать группу подкаталогов для заключения в них исполняемых файлов для каждой поддерживаемой операционной системы. Типами приложений, хранимых в подкаталогах, соответствующих
определенным операционным системам, будут инструменты поиска и считывания, плееры для программ мультимедиа, а также любые файлы, характерные для конкретной платформы и процессора.
Данные файлов, доступные для каждой операционной системы, могут храниться в общем подкаталоге или связке подкаталогов. Используя эту систему, пользователь платформы Macintosh сможет двойным щелчком открыть папку, содержащую инструменты доступа, и просмотреть область данных на диске. Пользователь UNIX будет обращаться к другому подкаталогу. Пользователь DOS найдет необходимые инструменты доступа в еще одном каталоге. Другими словами, первый уровень подкаталогов от корня может расчленять второй уровень файловой системы, чтобы обеспечить точки входа для пользователей каждой операционной системы.
Расширения операционных систем
Для завершения логической структуры, позволяющей читать диски CD-ROM независимо от платформы, требуется еще один элемент: расширение к каждой операционной системе, которое
может связать требования системного программного обеспечения с аппаратными операциями низкого уровня накопителя CD-ROM и его единственной средой хранения. В среде DOS программной составляющей является драйвер устройства, известный как MSCDEX (Microsoft CD Extensions). MSCDEX служит в качестве моста между двумя средами, позволяет DOS видеть содержимое CD-ROM как том DOS и освобождает разработчиков от необходимости понимать индивидуальные операции устройства для каждого поддерживаемого накопителя CD-ROM. Аналогичная функция выполняется на платформе Macintosh расширением под названием Foreign File Access. С этим расширением, установленным в папке Extensions, которая, свою очередь, находится в папке Mac System, взаимодействие с накопителем CD-ROM проходит гладко. Аналогичные программные компоненты существуют для каждой операционной системы, которая может обращаться к дискам ISO 9660.
Достоинства стандарта ISO 9660
ISO 9660 решил проблемы, упомянутые в начале этого раздела, путем стандартизации средств, которыми секторы и маркеры их абсолютного времени могли быть логически связаны с томом, каталогом и структурой файлов, применимой для большинства операционных систем. Эта система работала так хорошо, что она была почти повсеместно принята всеми, кто выпускает
диски CD-ROM. А в тех областях, где она не решила полностью эти проблемы, комитеты заняты работой над расширениями.
Проблема сравнительно низкой производительности накопителей CD-ROM и вопросы доступа к файлам были решены путем создания структуры, в которой все связи с файлами и данными хранятся у центра диска в прилегающих секторах. Так как теперь не требуется извлекать эту информацию из различных мест на диске, время доступа к файлам может быть существенно сокращено.