Введение

Файловая система для CD-R и CD-ROM оптических дисков

ISO 9660 (также известная как ECMA 119) — это файловая система для оптических дисковых носителей. Файловая система является международным стандартом, доступным в Международной организации по стандартизации (ISO). Поскольку спецификация доступна для приобретения, реализации были разработаны для многих операционных систем. ISO 9660 берет свое начало в формате High Sierra, который организовал информацию о файлах в плотном последовательном формате, чтобы минимизировать произвольный доступ, используя иерархическую (восемь уровней вложенности каталогов) древовидную структуру файловой системы, аналогичную UNIX и FAT. Для обеспечения кроссплатформенной совместимости он определил минимальный набор общих атрибутов файла (каталог или обычный файл и время записи) и атрибутов имени (имя, расширение и версия), а также использовал отдельную область системного использования, где могут быть указаны будущие необязательные расширения для каждого файла. High Sierra была принята в декабре 1986 года (с изменениями) в качестве международного стандарта Ecma International как ECMA 119 и представлена в ISO для ускоренного рассмотрения, где в конечном итоге была принята как ISO 9660:1988. Последующие поправки к стандарту были опубликованы в 2013 и 2020 годах. Первые 16 секторов файловой системы пусты и зарезервированы для других целей. Остальная часть начинается с набора дескрипторов тома (заголовочного блока, описывающего последующую структуру), а затем следуют таблицы путей, каталоги и файлы на диске. Диск, соответствующий стандарту ISO 9660, должен содержать как минимум один первичный дескриптор тома, описывающий файловую систему, и терминатор набора дескрипторов тома, который является дескриптором тома, обозначающим конец набора дескрипторов. Первичный дескриптор тома предоставляет информацию об объеме, характеристиках и метаданных, включая запись корневого каталога, указывающую, в каком секторе находится корневой каталог. Другие поля содержат метаданные, такие как имя и создатель тома, а также размер и количество логических блоков, используемых файловой системой. Таблицы путей суммируют структуру каталогов соответствующей иерархии каталогов. Для каждого каталога в образе таблица путей предоставляет идентификатор каталога, местоположение области, в которой записан каталог, длину любых расширенных атрибутов, связанных с каталогом, и индекс записи таблицы путей родительского каталога. Существует несколько расширений ISO 9660, которые снимают некоторые из ее ограничений. Примечательные примеры включают Rock Ridge (права доступа в стиле Unix и более длинные имена), Joliet (Unicode, позволяющий использовать нелатинские сценарии), El Torito (обеспечивает загрузку с CD-дисков) и расширения Apple ISO 9660 (характеристики файлов, специфичные для классической Mac OS и macOS, такие как вилки ресурсов, дата резервного копирования файла и многое другое).

История

Компакт-диски изначально были разработаны для записи музыкальных данных, но вскоре стали использоваться для хранения дополнительных типов цифровых данных, поскольку они были столь же эффективны для архивного хранения больших объемов информации. Низкоуровневый формат для этих компакт-дисков, известный как CD-ROM, был определен в спецификации "Желтой книги" в 1983 году. Однако эта книга не определяла формат для организации данных на CD-ROM в логические единицы, такие как файлы, что привело к тому, что каждый производитель CD-ROM создавал собственный формат. Для разработки стандарта файловой системы CD-ROM (Z39.60 – Структура томов и файлов CD-ROM для обмена информацией) Национальная организация по информационным стандартам (NISO) создала Комитет по стандартам SC EE (Формат данных компакт-дисков) в июле 1985 года. В октябре 1985 года несколько компаний пригласили экспертов для участия в разработке рабочего документа для этого стандарта. В ноябре 1985 года представители производителей компьютерного оборудования собрались в отеле High Sierra Hotel and Casino (в настоящее время называемом Golden Nugget Lake Tahoe) в Стейтлайн, штат Невада. Эта группа стала известна как Группа Высокой Сьерры (HSG). На встрече присутствовали представители Apple Computer, AT&T, Digital Equipment Corporation (DEC), Hitachi, LaserData, Microware, Microsoft, 3M, Philips, Reference Technology Inc., Sony Corporation, TMS Inc., VideoTools (позже Meridian), Xebec и Yelick. Отчет о встрече развился из стандарта Yellow Book CD-ROM, который был настолько открытым, что привел к диверсификации и созданию множества несовместимых методов хранения данных. Предложение Группы Высокой Сьерры (HSGP) было опубликовано в мае 1986 года и определяло файловую систему для CD-ROM, обычно известную как формат High Sierra. Проект этого предложения был представлен Европейской ассоциации производителей компьютеров (ECMA) для стандартизации. С некоторыми изменениями это привело к выпуску первоначального издания стандарта ECMA 119 в декабре 1986 года. ECMA представила свой стандарт Международной организации по стандартизации (ISO) для ускоренной обработки, где он был дополнительно доработан в стандарт ISO 9660. Для обеспечения совместимости второе издание ECMA 119 было пересмотрено, чтобы соответствовать ISO 9660 в декабре 1987 года. ISO 9660:1988 был опубликован в 1988 году. Основными изменениями в стандартах ECMA 119 и ISO 9660 по сравнению с форматом High Sierra были международные расширения, позволяющие формату лучше работать на рынках за пределами США. Чтобы избежать несовместимости, NISO приостановила дальнейшую работу над Z39.60, который был принят членами NISO 28 мая 1987 года. Он был отозван до окончательного утверждения в пользу ISO 9660. JIS X 0606:1998 был принят в Японии в 1998 году с более мягкими правилами именования файлов, использующими новую структуру данных "улучшенный дескриптор тома". Стандарт был представлен для ISO 9660:1999 и предположительно проходил ускоренную обработку, но не был утвержден. Тем не менее, несколько операционных систем и инструментов для создания дисков (таких как Nero Burning ROM, mkisofs и ImgBurn) теперь поддерживают добавление, под названиями "ISO 9660:1999", "ISO 9660 v2" или "ISO 9660 Level 4". В 2013 году предложение было окончательно оформлено в виде ISO 9660/Поправка 1, предназначенной для "гармонизации ISO 9660 и широко используемой "спецификации Джолие". В декабре 2017 года было опубликовано 3-е издание ECMA 119, которое технически идентично ISO 9660, Поправка 1. В 2019 году ECMA опубликовала 4-ю версию ECMA 119, интегрировав текст спецификации Joliet в качестве "Приложения C". В 2020 году ISO опубликовала Поправку 2, которая добавляет некоторые незначительные уточнения, но не добавляет и не исправляет какую-либо техническую информацию стандарта.

Технические характеристики

Ниже приведена общая структура файловой системы ISO 9660. Многобайтовые значения могут храниться в трех различных форматах: little endian (младший байт вперед), big endian (старший байт вперед) и в комбинации обоих типов, в порядке, который спецификация называет "both byte" (оба байта). Порядок "both byte" обязателен в нескольких полях дескрипторов тома и записей каталогов, в то время как таблицы путей могут быть как в формате little endian, так и big endian. Хотя предполагается, что эта область зарезервирована для загрузочных дисков, CD-ROM может содержать альтернативный дескриптор файловой системы, и гибридные CD-диски часто используют её для предоставления контента, специфичного для классической Mac OS и macOS.

Таблицы маршрутов

Таблицы путей суммируют структуру каталогов соответствующей иерархии. Для каждого каталога в образе таблица путей предоставляет идентификатор каталога, местоположение экстента, в котором каталог записан, длину любых расширенных атрибутов, связанных с каталогом, и индекс записи родительского каталога в таблице путей. Номер родительского каталога – 16-битное число, ограничивающее его диапазон от 1 до 65 535.

Эль Торито

El Torito – это расширение, предназначенное для загрузки компьютера с CD-ROM. Оно было анонсировано в ноябре 1994 года и впервые выпущено в январе 1995 года как совместное предложение компаний IBM и Phoenix Technologies, производителя BIOS. Согласно легенде, расширение El Torito CD/DVD для ISO 9660 получило свое название, поскольку его разработка началась в ресторане El Torito в городе Ирвин, штат Калифорния. Первоначальными авторами были Кертис Стивенс из Phoenix Technologies и Стэн Меркин из IBM. Несмотря на то, что спецификация El Torito упоминает идентификатор платформы "Mac", компьютеры Apple Macintosh на базе PowerPC не используют его.

Ромео

Romeo был разработан компанией Adaptec и позволяет использовать длинные имена файлов длиной до 128 символов, которые записываются непосредственно в основной дескриптор тома с использованием текущей кодовой страницы. Этот формат основан на работе драйверов Windows 9x и Windows NT "CDFS". При открытии диска Romeo установкой Windows на другом языке отсутствие указания кодовой страницы приведет к тому, что не-ASCII символы в именах файлов будут отображаться некорректно (в виде "моджибаке"). Например, символ "ü" может быть заменен на "³". Другая операционная система может столкнуться с аналогичной проблемой или вообще отказаться распознавать эти некорректные имена. Технически аналогичная проблема существует и в стандарте ISO 9660, который допускает произвольную интерпретацию дополнительных и расширенных дескрипторов тома для любой кодировки символов по согласованию сторон. Однако основной дескриптор тома гарантированно содержит лишь небольшой набор символов ASCII.

Изображения дисков

Образы оптических дисков — распространенный способ электронной передачи содержимого CD-ROM. Они часто имеют расширение файла iso (iso9660 используется реже, но также встречается) и обычно называются "ISO-образами".