WikiDer > CFS (формат файла)
Расширение имени файла | .cfs |
---|---|
Тип интернет-СМИ | приложение / x-cfs-сжатый |
Разработан | Джо Лоу (Pismo Technic Inc.) |
Тип формата | Формат архива |
Открытый формат? | Да (см. cfs.h файл) |
Компактный набор файлов (CFS) это открытый формат файла архива и формат файла контейнера распространения программного обеспечения.
Обзор
В Компактный набор файлов (CFS) это открытый формат файла архива и формат файла контейнера распространения программного обеспечения.[1] Основные файлы CFS совместимы с файлами ISO. Он должен быть достаточно похож на ISO-9660, чтобы многие системы и приложения могли читать CFS, а для других приложений потребуются лишь незначительные изменения. В его основе:
Он доступен для бесплатного использования в бесплатных или коммерческих приложениях. Предполагается, что никакие части формата не защищены патентами.[2]
Предполагается, что основным приложением будут файлы-контейнеры для различных приложений архивирования и распространения, но CFS может быть полезен при записи непосредственно на CD / DVD-носитель.
Цели
- Упростите использование со сжатием данных и без поиска хранилища (каналы, сокеты, лента).
- Упростите реализацию приложений для чтения и записи по сравнению с традиционными образами на основе ISO-9660 / UDF.
- Повышенная согласованность и обмен данными между различными приложениями.
- Упростите реализацию приложений, изменяющих изображения.
- Повышение эффективности хранения за счет использования меньшего пространства изображений для мультимедийных структур и дублированных данных каталогов.
- Устранение ограничения количества папок, налагаемого в ISO-9660 таблицей путей.
- Устранение ограничений размера файла, налагаемых различными ограничениями совместимости, с использованием ISO-9660 и UDF.
Основные отличия CFS от ISO-9660
- Макет и содержимое медиа-заголовка (первые 40 КБ) фиксированы, всегда содержат одну и ту же последовательность структур тома и данных.
- Все имена файлов и текстовые поля хранятся как big-endian UCS-2, как указано в расширениях Joliet.
- Произвольные ограничения на имя файла и глубину каталога удалены, вплоть до ограничений структуры записи файла ISO-9660, 110 16-битных символов.
- Все данные каталога записываются после последнего блока данных файла.
- Предполагается, что читатели будут обрабатывать файлы размером более 4 ГБ.
- Таблицы путей могут быть созданы, но не используются.
Техническая информация
Заголовок медиа
Первые 20 блоков (40 КБ) логического образа - это медиа-заголовок. Макет медиа-заголовка совместим с различными структурами дескрипторов и каталогов для ISO-9660. Первый блок данных файла сохраняется в блоке 20 сразу после заголовка мультимедиа.
Заголовок мультимедиа имеет следующий формат:
- блок 0-11
- все ноль
- блок 12
- текст файла readme совместимости
- блок 13
- корневая папка совместимости
- блок 14
- таблица путей совместимости с прямым порядком байтов
- блок 15
- таблица путей с прямым порядком байтов совместимости
- блок 16
- Дескриптор первичного тома совместимости с ISO-9660
- блок 17
- Дескриптор дополнительного объема ISO-9660
- блок 18
- Завершающий дескриптор ISO-9660
- блок 19
- все ноль
Дескриптор основного тома в заголовке носителя ссылается на корневую папку фиксированной совместимости и файл readme, чтобы помочь пользователям идентифицировать приложения и системы, которые не используют дополнительный дескриптор тома. Дескриптор дополнительного тома указывает набор символов UCS-2 и ссылается на реальную структуру каталогов. Заголовок медиа должен быть инициализирован точно так же, как это сделано в логике этого файла заголовка. В заголовок мультимедиа не следует добавлять дополнительные данные приложения, системные данные, комментарии, даты, текст и т. Д.
Имена файлов Unicode
Все имена файлов и поля идентификатора системы и идентификатора тома дополнительного дескриптора тома кодируются как UCS-2 с прямым порядком байтов.
Длина имени файла ограничена размером 8-битной записи файла до 110 16-битных символов. Никаких произвольных ограничений не накладывается на глубину иерархии каталогов или комбинированную длину имени файла и включенных компонентов имени папки. Читателям нужно будет выбрать подходящий предел для своей среды и при необходимости выполнить проверки. Как и в ISO-9660-1999, номера версий не добавляются к именам файлов. Как и в ISO-9660-1999, особое значение "." и ';' символы при сортировке имени файла исключены.
Необязательные таблицы путей
Таблицы путей занимают место на носителе с избыточной информацией и ограничивают носитель до 64 КБ папок. Читатели не должны ссылаться на таблицы путей. Писатели могут создавать таблицы путей для повышения совместимости со считывателями ISO-9660. Таблицы путей должны быть записаны с данными каталога (экстентами папки) за пределами последнего блока данных файла. Обратите внимание, что правильные таблицы путей не могут быть созданы для носителей, содержащих более 64 КБ папок. Писатели, которые изменяют существующий носитель, могут удалить существующие таблицы путей. Если таблицы путей отсутствуют, то три связанных поля дескриптора тома в дополнительном дескрипторе тома должны быть установлены в ноль.
Расширенные атрибуты
Расширенные атрибуты зарезервированы для будущих расширений CFS. Писатели не должны создавать расширенные атрибуты. Читатели должны корректно обрабатывать расширенные атрибуты, если они существуют. Данные файла должны быть непрерывными, а использование повторяющихся файловых записей для файлов с несколькими экстентами ограничено. Все данные для каждого файла должны существовать в одном непрерывном экстенте. Это верно, даже когда файлы представлены с использованием нескольких файловых записей. Файлы с чередованием создавать нельзя. Связанные файлы не должны создаваться.
Дубликаты файловых записей должны использоваться только для представления файлов с объемом данных, превышающим 4GiB-2048. Дубликаты файловых записей не должны использоваться для представления файлов с фрагментированными данными. Когда используются повторяющиеся файловые записи, также должен использоваться флаг мультиэкстентности, как указано в спецификации ISO-9660-1999. Дубликаты файловых записей не должны создаваться, если общий размер данных файла не превышает 4Gib-2048. Если для файла существуют повторяющиеся файловые записи, все, кроме последней файловой записи, должны иметь размер данных, равный 4 Гб-2048 байтов.
Расположение данных каталога на носителе
Все данные файла должны предшествовать всем размерам папок и таблицам путей на носителе. Цель состоит в том, чтобы приложение для изменения изображения могло считывать весь каталог в память, добавлять новые данные файла к изображению и перезаписывать обновленный каталог после данных нового файла. Писателям необходимо будет определить последний блок данных файла после чтения всего каталога.
Область патча заголовка мультимедиа
Когда заголовок мультимедиа изменяется либо в конце создания изображения, либо как часть более поздних модификаций существующего изображения, обновляются только некоторые определенные поля. Эти поля полностью находятся в области исправлений заголовка носителя. Переписывать следует только область патча заголовка носителя. Это дает больше возможностей при работе с форматами файлов-контейнеров изображений или транспортом с ограниченными возможностями поиска или перезаписи (сжатые форматы, каналы, сокеты).
Расширения форматов и составные файловые системы
Все файлы и папки, записанные в образе, должны быть доступны через единую структуру каталогов, на которую ссылается дескриптор дополнительного тома. Составные файловые системы, такие как включающие структуры UDF или HFS, не допускаются. Rockridge и другие расширения ISO-9660 не допускаются.
Расширения для архивирования атрибутов системы
Будущие версии CFS могут включать расширения, позволяющие сохранять системные атрибуты, такие как временные поля, дескрипторы безопасности, списки управления доступом, вилки ресурсов, символические ссылки и т. Д. Разработчикам, которым необходимы эти расширения, следует обращаться в Pismo Technic с требованиями и / или предложениями. .
Медиа форматы
Образы CFS либо записываются на носители CD / DVD, либо хранятся в файле медиа-контейнера. Файл медиа-контейнера может быть необработанным дампом образа CFS, называемого здесь DD, но более широко известным как файлы ISO. Кроме того, файл мультимедийного контейнера может быть более структурированным контейнерным форматом, который предоставляет дополнительные функции, такие как сжатие и охват. Образы CFS соответствуют этой спецификации только в том случае, если они хранятся в медиа-файлах формата DD или CISO (Compact ISO). При записи на носитель CD / DVD или при сохранении в других форматах файлов мультимедийных контейнеров, таких как NRG или DAA, комбинация не соответствует требованиям CFS и не должна называться файлом CFS.
Примечание: Компактный ISO не совпадает с форматом [[сжатый ISO]], распространенным в Домашнее пиво PlayStation Portable разработка. Формат ISO, сжатый PSP, также называется CISO, но имеет расширение CSO.
Приложения для записи CFS должны по умолчанию записывать файлы мультимедийных контейнеров в формате DD, если пользователь не указал параметры файла-контейнера, требующие CISO (охват, сжатие, ...). Это обеспечивает более интуитивный обмен с системами и приложениями, которые поддерживают образы DD CD / DVD, но не поддерживают CFS.
Смотрите также
Рекомендации
- ^ Джо Лоу, Джо Лоу. "cfs.h". Заголовочный файл исходного кода CFS. Получено 2008-04-06.
- ^ "Веб-страница Pismo Technic - информация CFS".