CFS(파일 형식)

CFS (file format)
컴팩트 파일 세트
파일 이름 확장명
.cfs
인터넷 미디어 유형
애플리케이션/x-cfs-fs-fs-fs
개발자조 로우(피스토 테크닉 주식회사)
형식 유형보관 형식
오픈 포맷?예(cfs.h 파일 참조)

CFS(Compact File Set)는 개방형 아카이브 파일 형식과 소프트웨어 배포 컨테이너 파일 형식이다.

개요

CFS(Compact File Set)는 개방형 아카이브 파일 형식과 소프트웨어 배포 컨테이너 파일 형식이다.[1]기본 CFS 파일은 ISO 파일과 호환된다.많은 시스템 및 애플리케이션이 CFS를 읽을 수 있을 것이며, 다른 애플리케이션은 사소한 수정만 필요할 것이라는 점을 ISO-9660과 충분히 유사하게 의도하였다.이는 다음을 기반으로 한다.

무료 또는 상업용 애플리케이션에서 무료로 사용할 수 있다.어떤 형식도 특허에 의해 가려지지 않는 것으로 되어 있다.[2]

주요 애플리케이션은 다양한 아카이빙 및 배포 애플리케이션을 위한 컨테이너 파일이 될 것으로 예상되지만 CFS는 CD/DVD 미디어에 직접 쓸 때 유용할 수 있다.

목표들

  • 데이터 압축 및 불필요한 스토리지(파이프, 소켓, 테이프)로 간편하게 사용
  • 기존 ISO-9660/UDF 기반 이미지에 비해 읽기 및 쓰기 애플리케이션 구현 단순화
  • 서로 다른 애플리케이션 간의 데이터 교환 및 일관성 향상
  • 이미지를 수정하는 애플리케이션의 구현 단순화
  • 미디어 구조에 더 적은 이미지 공간과 중복된 디렉터리 데이터를 사용하여 스토리지 효율성 향상
  • 경로 테이블에 의해 ISO-9660에 부과된 폴더 수 제한을 제거한다.
  • ISO-9660 및 UDF의 사용과 함께 다양한 호환성 제한에 의해 부과되는 파일 크기 제한을 제거하십시오.

ISO-9660과 CFS의 주요 차이점

  • 미디어 헤더의 레이아웃과 내용(첫 번째 40k)은 고정되어 있으며, 볼륨 구조와 데이터의 순서가 항상 동일하다.
  • 모든 파일 이름과 텍스트 필드는 Joliet 확장에 지정된 대로 빅엔디안 UCS-2로 저장된다.
  • ISO-9660 파일 레코드 구조, 110 16비트 문자까지 파일 이름과 디렉토리 깊이에 대한 임의의 제한이 제거된다.
  • 모든 디렉토리 데이터는 파일 데이터의 마지막 블록 뒤에 기록된다.
  • 독자들은 4GB 이상의 파일을 다룰 것으로 예상된다.
  • 경로 테이블은 선택적으로 생성되지만 사용되지 않는다.

기술 정보

미디어 헤더

논리 이미지의 처음 20블록(40K)은 미디어 헤더다.미디어 헤더의 레이아웃은 ISO-9660의 다양한 설명자 및 디렉토리 구조와 호환된다.파일 데이터의 첫 번째 블록은 미디어 헤더 바로 뒤에 블록 20에 저장된다.

미디어 헤더의 레이아웃은 다음과 같다.

블록 0-11
전부 0
블록 12
호환성 readme
블록 13
호환성 루트 폴더
블럭 14
호환성 리틀엔디안 경로 표
블록 15
호환성 빅 엔디안 경로 표
블록 16
ISO-9660 호환성 기본 볼륨 설명자
블록17
ISO-9660 보조 볼륨 설명자
18번 블록
ISO-9660 종료 설명자
블록 19
전부 0

미디어 헤더의 기본 볼륨 설명자는 사용자가 보조 볼륨 설명자를 사용하지 않는 응용 프로그램과 시스템을 식별하도록 돕기 위해 고정 호환성 루트 폴더와 readme를 참조한다.보조 볼륨 설명자는 UCS-2 문자 집합을 나타내며 실제 디렉터리 구조를 참조한다.미디어 헤더는 이 헤더 파일의 논리대로 정확히 초기화되어야 한다.추가 응용 프로그램 데이터, 시스템 데이터, 주석, 날짜, 텍스트 등을 미디어 헤더에 추가해서는 안 된다.

유니코드 파일 이름

보조 볼륨 설명자의 모든 파일 이름과 시스템 ID 및 볼륨 ID 필드는 UCS-2, 빅 엔디안으로 인코딩된다.

파일 이름 길이는 8비트 파일 레코드 크기에 의해 110 16비트 문자로 제한된다.디렉토리 계층 구조 깊이 또는 파일 이름과 포함된 폴더 이름 구성요소의 결합된 길이에 대해 임의 제한이 적용되지 않는다.독자들은 환경에 적합한 한계를 선택하고 필요에 따라 점검을 수행해야 할 것이다.ISO-9660-1999와 같이 버전 번호는 파일 이름에 추가되지 않는다.ISO-9660-1999에서와 같이 파일 이름 정렬 중 '.' 및 ';' 문자의 특별한 의미는 제거된다.

선택적 경로 테이블

경로 테이블은 중복 정보가 있는 미디어 공간을 사용하며, 미디어를 최대 64k 폴더로 제한한다.판독기는 경로 테이블을 참조해서는 안 된다.작성자는 ISO-9660 판독기와의 호환성을 높이기 위해 경로 테이블을 생성할 수 있다.경로 테이블은 파일 데이터의 마지막 블록을 넘어 디렉터리 데이터(폴더 익스텐트)로 작성해야 한다.64K 이상의 폴더를 포함하는 미디어에는 올바른 경로 테이블을 생성할 수 없다는 점에 유의하십시오.기존 미디어를 수정하는 작성자는 기존 경로 테이블을 제거하도록 선택할 수 있다.경로 테이블이 없는 경우, 보조 볼륨 설명자의 관련 볼륨 설명자 필드 3개를 0으로 설정해야 한다.

확장 속성

확장 속성은 향후 CFS로의 확장을 위해 예약된다.작가는 확장된 속성을 만들어서는 안 된다.독자는 확장된 속성이 존재한다면 우아하게 다루어야 한다.파일 데이터는 연속적이고 다중 확장 파일에 대한 중복 파일 레코드의 사용이 제한되어야 한다.각 파일의 모든 데이터는 하나의 연속적인 범위 내에 존재해야 한다.여러 개의 파일 레코드를 사용하여 파일을 나타낼 때에도 그렇다.인터리브된 파일은 생성하지 마십시오.연결된 파일을 생성하면 안 된다.

중복 파일 레코드는 4GiB-2048보다 큰 데이터 범위를 가진 파일을 표시하는 데만 사용된다.중복 파일 레코드는 조각난 데이터가 있는 파일을 나타내는 데 사용해서는 안 된다.중복 파일 레코드를 사용할 경우 ISO-9660-1999 규격에 표시된 대로 다중 확장 플래그도 사용해야 한다.파일의 총 데이터 크기가 4Gib-2048보다 크지 않는 한 중복 파일 레코드를 생성해서는 안 된다.파일에 대한 중복 파일 레코드가 있는 경우 마지막 파일 레코드를 제외한 모든 파일 레코드의 데이터 범위는 정확히 4Gib-2048바이트여야 한다.

미디어의 디렉터리 데이터 위치

모든 파일 데이터는 미디어의 모든 폴더 익스텐트 및 경로 테이블 앞에 있어야 한다.목적은 이미지 수정 어플리케이션이 전체 디렉토리를 메모리로 읽고, 새로운 파일 데이터를 이미지에 추가하고, 새로운 파일 데이터 뒤에 업데이트된 디렉토리를 다시 쓸 수 있다는 것이다.작성자는 전체 디렉토리를 읽은 후 파일 데이터의 마지막 블록을 결정해야 한다.

미디어 헤더 패치 영역

미디어 헤더가 이미지 생성의 끝에서 또는 나중에 기존 이미지에 대한 수정의 일부로 수정되면 일부 특정 필드만 업데이트된다.이러한 필드는 전적으로 미디어 헤더 패치 영역 내에 존재한다.미디어 헤더 패치 영역만 다시 작성해야 한다.이는 제한된 탐색 또는 덮어쓰기 기능을 가진 이미지 컨테이너 파일 형식 또는 전송(압축된 형식, 파이프, 소켓)을 처리할 때 더 많은 옵션을 허용한다.

확장명 및 복합 파일 시스템 포맷

이미지에 쓰여진 모든 파일 및 폴더는 보조 볼륨 설명자에서 참조하는 단일 디렉토리 구조를 통해 액세스할 수 있어야 한다.UDF 또는 HFS 구조를 포함하는 복합 파일 시스템은 허용되지 않는다.Rockridge 및 기타 ISO-9660 확장은 허용되지 않는다.

시스템별 특성 아카이빙 확장

향후 버전의 CFS에는 시간 필드, 보안 설명자, 액세스 제어 목록, 리소스 포크, 심볼 링크 등과 같은 시스템별 속성을 저장할 수 있는 확장자가 포함될 수 있다.이러한 확장이 필요한 개발자는 Pismo Technic에 요구사항 및/또는 제안사항을 문의해야 한다.

미디어 형식

CFS 이미지는 CD/DVD 미디어에 기록되거나 미디어 컨테이너 파일에 저장된다.미디어 컨테이너 파일은 여기에서 DD라고 하는 CFS 이미지의 원시 덤프일 수 있지만, 일반적으로 ISO 파일로 더 알려져 있다.또한 미디어 컨테이너 파일은 압축과 스패닝과 같은 추가적인 기능을 제공하는 보다 구조화된 컨테이너 형식이 될 수 있다.CFS 이미지는 DD 또는 CISO(Compact ISO) 형식 미디어 파일에 저장될 때만 이 규격을 준수한다.CD/DVD 미디어에 구울 때 또는 NRG 또는 DAA와 같은 다른 미디어 컨테이너 파일 형식에 저장될 때 이 조합을 CFS 호환성이 없으므로 CFS 파일이라고 부르면 안 된다.

참고: 컴팩트 ISO는 플레이스테이션 포터블 홈브루 개발에서 흔히 볼 수 있는 [[압축된 ISO] 형식과 동일하지 않다.PSP 압축 ISO 형식도 CISO라고 하지만 파일 확장자는 CSO이다.

사용자가 CISO(스패닝, 압축, ...)가 필요한 컨테이너 파일 옵션을 지정하지 않은 경우 CFS 쓰기 응용 프로그램은 기본적으로 DD 형식 미디어 컨테이너 파일 쓰기로 설정해야 한다.이는 DD CD/DVD 이미지를 지원하지만 CFS를 지원하지 않는 시스템 및 애플리케이션과의 보다 직관적인 교환을 제공한다.

참고 항목

참조

  1. ^ Joe Lowe, Joe Lowe. "cfs.h". CFS source code header file. Retrieved 2008-04-06.
  2. ^ "Pismo Technic Web Page - CFS information".

외부 링크