Разработчик (и) | Ecma International |
---|---|
Варианты | Rock Ridge, Joliet, El Torito, Apple ISO 9660 Extensions, ISO 13490 |
Введен | 1988 г.; 32 года назад (1988 г.) |
Пределы | |
Макс. размер тома | 4 ГиБ |
Другое | |
Поддерживаемые операционные системы | Кросс-платформенный |
ISO 9660 - это файловая система для оптического диска СМИ. Файловая система, продаваемая Международной организацией по стандартизации (ISO), считается международным техническим стандартом. Поскольку спецификации доступны для приобретения, реализации были написаны для многих операционных систем.
ISO 9660 уходит своими корнями в файловую систему High Sierra Format. В High Sierra информация о файлах упорядочена в плотном последовательном формате для минимизации непоследовательного доступа за счет использования иерархической (восемь уровней каталогов в глубину) древовидной структуры файловой системы, аналогичной UNIX и FAT. Чтобы облегчить кросс-платформенную совместимость, он определил минимальный набор общих атрибутов файла (каталог или обычный файл и время записи) и атрибутов имени (имя, расширение и версия), а также использовал отдельную область использования системы, где будущие дополнительные расширения для каждого файл может быть указан.
High Sierra была принята в декабре 1986 года (с изменениями) в качестве международного стандарта Ecma International как ECMA-119 и представлена для ускоренного отслеживания в ISO, где в конечном итоге он был принят как ISO 9660: 1988.
В 2013 году ISO опубликовал поправку 1 к стандарту ISO 9660, вводя новые структуры данных и смягченные правила имен файлов, предназначенные для «гармонизации между ISO 9660 и широко используемыми» Joliet Спецификация ». В декабре 2017 года было опубликовано 3-е издание ECMA-119, которое технически идентично ISO 9660, поправка 1.
В 2020 году ISO опубликовала поправку 2, которая добавляет некоторые незначительные уточняющие моменты, но не добавляет или исправьте любую техническую информацию стандарта.
Ниже приводится приблизительная общая структура файловой системы ISO 9660:
Файловая система ISO 9660 | |
---|---|
Системная область (32768 Б) | Не используется ISO 9660 |
Область данных | |
Набор дескрипторов тома | |
Таблицы путей, каталоги и файлы |
Системная область, первые 32768 данных байт диска (16 секторов по 2048 байтов каждый) не используется по стандарту ISO 9660 и поэтому доступен для других целей. Например, компакт-диск может содержать альтернативный дескриптор файловой системы в этой области, поскольку он часто используется гибридными компакт-дисками, чтобы предложить классическую Mac OS и macOS. -специфический контент.
Все многобайтовые значения сохраняются дважды, в формате little-endian и big-endian, либо одно за другим в том, что в спецификации называется "оба -byte orders »или в дублированных структурах данных, таких как таблица путей. Поскольку структуры были спроектированы с невыровненными элементами, эта кодировка с прямым порядком байтов не помогает разработчикам, поскольку структуры данных необходимо читать побайтно, чтобы преобразовать их в правильно выровненные данные.
Область данных начинается с набора из одного или нескольких дескрипторов тома, заканчивающихся указателем конца набора дескрипторов тома. В совокупности набор дескрипторов тома действует как заголовок для области данных, описывая ее содержимое (аналогично блоку параметров BIOS, используемому FAT, HPFS и диски, отформатированные в NTFS ).
Набор дескрипторов тома |
---|
Дескриптор тома # 1 |
... |
Дескриптор тома #N |
Терминатор набора дескрипторов тома |
Терминатор набора дескрипторов тома - это просто особый тип дескриптора тома с цель обозначить конец этого набора структур.
Каждый дескриптор тома имеет размер 2048 байт, что идеально подходит для одного сектора Режима 1 или Режима 2 формы 1. Они имеют следующую структуру:
← 2048 байтов → | ||||
---|---|---|---|---|
Части | Тип | Идентификатор (всегда 'CD001') | Версия (всегда 0x01) | Данные |
Размеры | 1 байт | 5 байтов | 1 байт | 2041 байт |
Поле данных тома дескриптор может быть разделен на несколько полей, точное содержание которых зависит от типа.
Стандартные типы дескрипторов тома следующие:
Базовые типы дескрипторов томов | |
---|---|
Значение поля типа | Тип |
0 | Дескриптор тома загрузочной записи |
1 | Первичный дескриптор тома |
2 | Дополнительный дескриптор тома или Расширенный дескриптор тома |
3 | Дескриптор раздела тома |
255 | Терминатор набора дескрипторов тома |
Диск, совместимый с ISO 9660, содержит по крайней мере один первичный дескриптор тома, описывающий файловую систему и терминатор набора дескрипторов тома для указания конца последовательности дескрипторов.
Дескриптор первичного тома предоставляет информацию об объеме, характеристиках и метаданных, включая запись корневого каталога, которая указывает, в каком секторе находится корневой каталог. Другие поля содержат описание или имя тома, а также информацию о том, кто его создал и с каким приложением. Размер логических блоков, которые файловая система использует для сегментации тома, также сохраняется в поле внутри дескриптора первичного тома, а также объем пространства, занимаемого томом (измеряется в количестве логических блоков).
В дополнение к дескрипторам первичного тома могут присутствовать дополнительные дескрипторы тома или расширенные дескрипторы тома.
Дополнительные дескрипторы тома описывают тот же том, что и дескриптор основного тома, и обычно используются для обеспечения поддержки дополнительной кодовой страницы, когда стандартных кодовых таблиц недостаточно. Стандарт определяет, что ISO 2022 используется для управления наборами кодов, размер которых превышает 8 байтов, и что escape-последовательности ISO 2375 используются для идентификации каждой конкретной используемой кодовой страницы. Следовательно, ISO 9660 поддерживает международные однобайтовые и многобайтовые наборы символов при условии, что они вписываются в рамки упомянутых стандартов. Однако ISO 9660 не определяет никаких кодовых страниц, которые гарантированно поддерживаются: любое использование кодовых таблиц, кроме тех, которые определены в самом стандарте, подлежит согласованию между отправителем и получателем тома.
Расширенные дескрипторы томов были введены в ISO 9660, поправка 1. Они ослабляют некоторые требования других дескрипторов томов и записей каталогов, на которые они ссылаются: например, глубина каталога может превышать восемь, требуются идентификаторы файлов. не содержать "." или номер версии файла, длина идентификатора файла и каталога увеличивается до 207.
Избыточные копии каждого дескриптора тома также могут быть включены в случае повреждения первой копии дескриптора.
Записи каталогов хранятся после местоположения записи корневого каталога, где начинается оценка имен файлов. И каталоги, и файлы хранятся как экстенты, которые представляют собой последовательные серии секторов.
Файлы и каталоги различаются только атрибутом файла, который указывает его природу (аналогично Unix ). Атрибуты файла хранятся в записи каталога, описывающей файл, и, необязательно, в расширенной записи атрибутов.
Чтобы найти файл, имена каталогов в пути к файлу можно проверять последовательно, переходя к местоположению каждого каталога для получения местоположения следующего подкаталога. Однако файл также можно найти с помощью таблицы путей, предоставленной файловой системой. В этой таблице путей хранится информация о каждом каталоге, его родительском элементе и его местонахождении на диске. Поскольку таблица путей хранится в непрерывной области, ее можно искать намного быстрее, чем переход к конкретным местоположениям каждого каталога в пути к файлу, что сокращает время поиска.
Стандарт определяет три вложенных уровня обмена (перефразировано из раздела 10):
Дополнительные ограничения в теле стандарта: глубина иерархии каталогов не должна превышать 8 (корневой каталог находится на уровне 1), а длина пути к любому файлу не должна превышать 255 (раздел 6.8.2.1).
Стандарт также определяет следующие ограничения имен (разделы 7.5 и 7.6):
Таблицы путей обобщают структуру каталогов в соответствующей иерархии каталогов, предоставляя только идентификатор каталога, местоположение экстента, в котором записан каталог, длину любых расширенных атрибутов, связанных с каталогом и индекс записи в таблице путей к родительскому каталогу.
Ограничения на длину имени файла (8 символов плюс 3 символа расширения для уровня обмена 1) и глубину каталога (8 уровней, включая корневой каталог) являются более серьезным ограничением файловой системы ISO 9660.
Расширение Rock Ridge работает с ограничением глубины в восемь каталогов путем складывания путей. Однако на практике немногие драйверы и операционные системы заботятся о глубине каталога, поэтому это правило часто игнорируется.
В дополнение к ограничениям, упомянутым выше, производитель CD-ROM может выбрать один из более низких уровней обмена, указанных в главе 10 стандарта, и дополнительно ограничить длину имени файла с 30 символов до 8 + 3. в идентификаторах файлов и 8 в идентификаторах каталогов, чтобы способствовать взаимозаменяемости с реализациями, которые не реализуют полный стандарт. (Иногда это ошибочно интерпретируется как ограничение в самом стандарте ISO 9660.)
Все числа в файловых системах ISO 9660, кроме используемого однобайтового значения для смещения GMT используются числа без знака. Поскольку длина экстента файла на диске хранится в 32-битном значении, максимальная длина составляет чуть более 4,2 ГБ (точнее, на один байт меньше 4 ГиБ ). (Примечание: некоторые старые операционные системы могут обрабатывать такие значения некорректно (т. Е. Со знаком вместо беззнакового), что сделало бы невозможным доступ к файлам размером более 2 ГБ. Последнее справедливо также для операционных систем без поддержки больших файлов..)
На основании этого часто предполагается, что размер файла на диске, отформатированном в соответствии с ISO 9660, не может быть больше 2-1, поскольку размер файла сохраняется в 32-битном значении без знака., для которого 2-1 - максимум.
Тем не менее, это ограничение можно обойти, используя функцию нескольких экстентов (фрагментацию) стандарта ISO 9660 уровня 3 для создания файловых систем ISO 9660 и отдельных файлов размером до 8 ТиБ. При этом файлы размером более 4 ГиБ могут быть разделены на несколько экстентов (последовательные серии секторов), каждый из которых не превышает 4 ГиБ. Например, бесплатное программное обеспечение, такое как InfraRecorder, ImgBurn и mkisofs, а также Roxio Toast, может создавать файловые системы ISO 9660. которые используют файлы с несколькими экстентами для хранения файлов размером более 4 ГиБ на соответствующих носителях, таких как записываемые DVD. Linux поддерживает несколько экстентов.
Другое ограничение - количество каталогов. ISO-образ имеет структуру, называемую «таблицей путей». Для каждого каталога изображения в таблице путей указан номер записи родительского каталога. Проблема в том, что номер родительского каталога является 16-битным числом, ограничивающим его диапазон от 1 до 65 535.
У некоторых программных инструментов могут возникнуть проблемы с управлением таблицей путей, если предел каталога превышен. Популярное приложение, использующее формат ISO, mkisofs, отключается при переполнении таблицы путей. Nero Burning ROM (для Windows) и Pinnacle Instant CD / DVD не проверяют, возникает ли проблема, и без предупреждения создают недопустимый файл ISO или диск.
Есть несколько расширений ISO 9660, которые ослабляют некоторые из его ограничений:
Для операционных систем, которые не поддерживают какие-либо расширения, необходимо использовать файл преобразования имен TRANS.TBL. Он должен находиться в каждом каталоге, включая корневой каталог. Сейчас это устарело, поскольку сегодня используется немного таких операционных систем.
Стандарт ISO 13490 - это расширение формата ISO 9660, которое добавляет поддержку нескольких сессий на диске. Поскольку ISO 9660 по своей природе является файловой системой, доступной только для чтения и предварительно настроенной, все данные должны быть записаны на носитель за один раз или «сеанс». После написания нет никаких условий для изменения сохраненного содержимого. ISO 13490 был создан, чтобы разрешить добавление дополнительных файлов на записываемый диск, такой как CD-R, за несколько сеансов.
JIS X 0606: 1998, также известный как ISO 9660: 1999, представляет собой проект японского промышленного стандарта, созданный Японским национальным органом (JTC1 N4222) с целью внесения некоторых улучшений и устранения некоторых ограничений из исходного стандарта ISO. 9660 стандарт. Этот проект был представлен в 1998 году, но еще не ратифицирован в качестве стандарта ISO. Некоторые из его изменений включают удаление некоторых ограничений, налагаемых исходным стандартом, путем увеличения максимальной длины имени файла до 207 символов, удаления восьмиуровневого ограничения на максимальное вложение каталогов и удаления специального значения символа точки в именах файлов. Некоторые операционные системы также допускают подобные послабления при чтении оптических дисков. Некоторые инструменты для создания дисков (такие как Nero Burning ROM, mkisofs и ImgBurn ) поддерживают так называемый режим «ISO 9660: 1999» (иногда называемый «ISO 9660 v2 »или« ISO 9660 Level 4 »), который снимает ограничения в соответствии с рекомендациями проекта ISO 9660: 1999.
Стандарт ISO 13346 / ECMA-167 был разработан совместно со стандартом ISO 13490. Этот новый формат устраняет большинство недостатков ISO 9660, а его подмножество превратилось в универсальный дисковый формат (UDF), который был принят для DVD. Таблица дескрипторов тома сохраняет макет ISO9660, но идентификатор был обновлен.
Образы файловой системы ISO 9660 (ISO-образы ) являются обычным способом электронная передача содержимого компакт-дисков. Они часто имеют расширение имени файла .iso
(.iso9660
менее распространено, но также используется) и обычно называются «ISO».
Большинство операционных систем поддерживают чтение дисков в формате ISO 9660, а большинство новых версий поддерживают такие расширения, как Rock Ridge и Joliet. Операционные системы, не поддерживающие расширения, обычно показывают основные (не расширенные) функции обычного диска ISO 9660.
Операционные системы, поддерживающие ISO 9660 и его расширения, включают следующее: