CFS (filformat)

Kompakt filuppsättning
Filnamnstillägg
.cfs
Internet mediatyp
applikation/x-cfs-komprimerad
Utvecklad av Joe Lowe (Pismo Technic Inc.)
Typ av format Arkivformat
Öppna format ? Ja (se filen cfs.h )

Compact File Set (CFS) är ett öppet arkivfilformat och filformat för behållare för mjukvarudistribution.

Översikt

Compact File Set (CFS) är ett öppet arkivfilformat och filformat för behållare för mjukvarudistribution. Grundläggande CFS-filer är kompatibla med ISO-filer. Det är tänkt att vara tillräckligt likt ISO-9660 så att många system och applikationer kommer att kunna läsa CFS, och andra applikationer kräver endast mindre modifieringar. Det baseras på:

Den är tillgänglig för användning i gratis eller kommersiella applikationer utan kostnad. Det antas att inga delar av formatet omfattas av patent.

Den primära applikationen förväntas vara containerfiler för olika arkiverings- och distributionsapplikationer, men CFS kan vara användbar när den skrivs direkt till CD/DVD-media.

Mål

  • Förenkla användningen med datakomprimering och med icke-sökande lagring (rör, uttag, tejp).
  • Förenkla implementeringen av läs- och skrivapplikationer jämfört med traditionella ISO-9660/UDF-baserade bilder.
  • Förbättrad konsistens och utbyte av data mellan olika applikationer.
  • Förenkla implementeringen av applikationer som modifierar bilder.
  • Öka lagringseffektiviteten genom att använda mindre bildutrymme för mediestrukturer och duplicerad katalogdata.
  • Eliminera begränsningen av antalet mappar som införs i ISO-9660 av sökvägstabellen.
  • Eliminera filstorleksbegränsningarna som ställs av olika kompatibilitetsbegränsningar med användning av ISO-9660 och UDF.

Huvudskillnaderna mellan CFS och ISO-9660

  • Layouten och innehållet i mediahuvudet (första 40k) är fast och innehåller alltid samma sekvens av volymstrukturer och data.
  • Alla filnamn och textfält lagras som big-endian UCS-2, enligt vad som anges i Joliet-tilläggen.
  • Godtyckliga begränsningar för filnamn och katalogdjup tas bort, upp till begränsningarna för ISO-9660-filpoststrukturen, 110 16 bitars tecken.
  • All katalogdata skrivs efter det sista blocket med fildata.
  • Läsare förväntas hantera filer över 4 GB.
  • Sökvägstabeller genereras valfritt men används inte.

Teknisk information

Mediahuvud

De första 20 blocken (40K) av den logiska bilden är mediahuvudet. Layouten för mediahuvudet är kompatibel med de olika deskriptor- och katalogstrukturerna för ISO-9660. Det första blocket med fildata lagras i block 20, omedelbart efter mediahuvudet.

Mediehuvudet har följande layout:

block 0-11
alla noll
block 12
kompatibilitet readme-fil textblock
13
kompatibilitet rotmapp
block 14
kompatibilitet little-endian sökvägstabell
block 15
kompatibilitet big-endian sökvägstabell
block 16
ISO-9660-kompatibilitet primär volymbeskrivningsblock
17
ISO-9660 tilläggsvolymdeskriptor
block 18
ISO-9660 avslutande deskriptorblock
19
alla noll

Den primära volymbeskrivningen i mediahuvudet refererar till den fasta kompatibilitetsrotmappen och readme, för att hjälpa användare att identifiera applikationer och system som inte använder den kompletterande volymbeskrivningen. Den kompletterande volymbeskrivningen indikerar teckenuppsättningen UCS-2 och refererar till den verkliga katalogstrukturen. Mediehuvudet bör initieras exakt som görs i logiken i denna rubrikfil. Inga ytterligare applikationsdata, systemdata, kommentarer, datum, text etc. ska läggas till i mediahuvudet.

Unicode-filnamn

Alla filnamn och system-ID och volym-ID-fälten i den kompletterande volymbeskrivningen är kodade som UCS-2, big-endian.

Filnamnslängder begränsas av 8-bitars filpoststorlek till 110 16-bitars tecken. Inga godtyckliga gränser sätts på kataloghierarkidjupet eller den kombinerade längden av ett filnamn och inkluderade mappnamnskomponenter. Läsare måste välja en lämplig gräns för sin miljö och utföra kontroller vid behov. Som i ISO-9660-1999 läggs inte versionsnummer till i filnamnen. Som i ISO-9660-1999, speciell betydelse av '.' och ';' tecken under filnamnssortering elimineras.

Valfria sökvägstabeller

Sökvägstabeller förbrukar medieutrymme med redundant information och begränsar media till maximalt 64 000 mappar. Läsare bör inte referera till sökvägstabeller. Författare kan välja att skapa sökvägstabeller för att öka kompatibiliteten med ISO-9660-läsare. Sökvägstabeller måste skrivas med katalogdata (mappomfattningar), bortom det sista blocket med fildata. Observera att korrekta sökvägstabeller inte kan genereras för media som innehåller fler än 64K mappar. Skribenter som ändrar ett befintligt medium kan välja att ta bort befintliga sökvägstabeller. Om sökvägstabeller inte finns måste de tre relaterade volymbeskrivningsfälten i den kompletterande volymdeskriptorn sättas till noll.

Utökade attribut

Utökade attribut är reserverade för framtida tillägg till CFS. Författare får inte skapa utökade attribut. Läsare måste graciöst hantera utökade attribut om de finns. Fildata måste vara sammanhängande och begränsad användning av dubbletter av filposter för filer med flera filstorlekar. All data för varje fil måste finnas i en sammanhängande omfattning. Detta gäller även när filerna representeras med hjälp av flera filposter. Interfolierade filer får inte skapas. Associerade filer får inte skapas.

Dubblettfilposter ska endast användas för att tillåta representation av filer med dataomfattning som är större än 4GiB-2048. Dubblettfilposter får inte användas för att representera filer med fragmenterad data. När dubbletter av filposter används måste flaggan i flera omfattning också användas enligt ISO-9660-1999-specifikationen. Dubblettfilposter bör inte skapas om inte filens totala datastorlek är större än 4Gib-2048. När det finns dubbletter av filposter för en fil måste alla utom den sista filposten ha en dataomfattning som är exakt 4Gib-2048 byte stor.

Plats för katalogdata på media

All fildata måste föregå alla mappar och sökvägstabeller på media. Avsikten är att ett bildmodifierande program kan läsa hela katalogen i minnet, lägga till ny fildata till bilden och skriva om en uppdaterad katalog efter den nya fildatan. Författare måste bestämma det sista blocket med fildata efter att ha läst hela katalogen.

Mediaheader patchområde

När mediahuvudet ändras, antingen i slutet av bildskapandet eller som en del av senare modifieringar av en befintlig bild, är det bara vissa specifika fält som ska uppdateras. Dessa fält finns helt och hållet inom området för mediehuvuden. Endast området för mediehuvudet ska skrivas om. Detta ger fler alternativ när det gäller bildbehållarfilformat eller transporter med begränsad söknings- eller överskrivningskapacitet (komprimerade format, rör, sockets).

Formattillägg och sammansatta filsystem

Alla filer och mappar som skrivs i bilden måste vara åtkomliga via den enda katalogstrukturen som refereras från den kompletterande volymbeskrivningen. Sammansatta filsystem, som att inkludera UDF- eller HFS-strukturer, är inte tillåtna. Rockridge och andra ISO-9660-tillägg är inte tillåtna.

Tillägg för arkivering av systemspecifika attribut

Framtida versioner av CFS kan innehålla tillägg för att tillåta lagring av systemspecifika attribut såsom tidsfält, säkerhetsbeskrivningar, åtkomstkontrollistor, resursgaffel, symboliska länkar etc. Utvecklare med behov av dessa tillägg bör kontakta Pismo Technic med krav och/eller förslag .

Medieformat

CFS-bilder skrivs antingen till CD/DVD-media eller lagras i en mediacontainerfil. Mediebehållarfilen kan vara en rådump av CFS-bilden, här kallad DD, men mer känd som ISO-filer. Mediebehållarfilen kan också vara ett mer strukturerat behållarformat som ger ytterligare funktioner som komprimering och spännvidd. CFS-bilder är endast kompatibla med denna specifikation när de lagras i DD eller CISO (Compact ISO) format mediefiler. När den bränns till CD/DVD-media eller när den lagras i andra mediebehållarefilformat som NRG eller DAA, är kombinationen inte CFS-kompatibel och bör inte hänvisas till som en CFS-fil.

Obs: Compact ISO är inte samma format som det [[komprimerade ISO]]-formatet som är vanligt i PlayStation Portable-hembryggningsutveckling . Det PSP-komprimerade ISO-formatet kallas också CISO, men filtillägget är CSO.

CFS-skrivprogram bör som standard skriva DD-format mediecontainerfiler såvida inte användaren har specificerat containerfilalternativ som kräver CISO (spännande, komprimering, ...). Detta ger ett mer intuitivt utbyte med system och applikationer som stöder DD CD/DVD-bilder men som inte stöder CFS.

Se även

externa länkar