HFS Plus

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif
HFS+
Utvecklare Apple Inc
Fullständigt namn Hierarchical File System Plus
Introducerat 19 januari 1998 (Mac OS 8.1)
Partitionsidentifierare Apple_HFS (Apple Partition Map)
0xAF (MBR)
Apple_HFSX (Apple Partition Map) när HFSX
48465300-0000-11AA-AA11-00306543ECAC (GPT)
Strukturer
Mappinnehåll B*-tree
Filallokering B*-tree
Korrupta block B*-tree
Begränsningar
Max filstorlek 16 EiB
Max antal filer Obegränsat
Max filnamnsstorlek 255 tecken
Max volymsstorlek 16 EiB
Tillåtna tecken i filnamn Unicode, alla tecken, inklusive NUL. (OS API kan orsaka vissa begränsingar på grund av arv)
Finesser
Sparade datum Skapad, använd, backed-up, ändrad
Datumspann 1 januari 1904 - 6 februari 2040
Gafflar Ja
Attribut Färg (3 bits, alla andra flaggor 1 bit), låst, valbar ikon, bundle, osynlighet, alias, system, stationär, initierad, inga INIT tillgångar, delad, skrivbord
Rättigheter UNIX rättigheter ACLs (Mac OS X v10.4 och senare versioner)
Transparent kompression Nej
Transparent enkryption Per-home directory AES som använder HFS+ formaterade .dmg volymer (FileVault i Mac OS X v10.3 och senare versioner)
Operativsystem Mac OS 8, Mac OS 9, Mac OS X och vissa Linux

HFS Plus eller HFS+ är ett filsystem som är utvecklat av Apple Inc. som en ersättare till deras Hierarchical File System (HFS) som standard filsystemetMacintosh datorer och används också på iPod som är en MP3-spelare också den utvecklad av Apple Inc. HFS Plus introducerades i samband med att Mac OS 8.1 lanserades 19 januari 1998. Ibland kan även HFS Plus refereras till som HFS Extended eller Mac OS Extended. Under tiden som filsystemet utvecklades användes kodnamnet Sequoia av Apple.

HFS Plus är en förbättrad version av HFS som ger stöd för mycket större filer (blockadresserna har en längd på 32-bit istället för 16-bit) och så används unicode (istället för Mac Roman) för att namnge objekt (filer, mappar). HFS Plus tillåter filnamn på upp till 255 UTF-16 tecken i längd.

Design

Ett HFS Plus filsystem är indelat i sektorer (logiska block) som vanligtvis är på 512 bytes i storlek. De här sektorerna grupperas samman i allokeringsblock som kan innehålla en eller flera sektorer. Antalet allokeringsblock beror på hur stor volymen är.

Det är totalt nio stycken olika strukturer som bygger upp en HFS Plus volym.

1. Sektornerna 0 och 1 av volymen är Bootblocken. De är identiska med de bootblock som finns på en volym som använder det äldre filsystemet HFS.

2. Volymsidhuvudet sparar information om volymen såsom när den skapades och var olika volymstrukturer finns sparade, såsom Katalogfilen och Extent Overflow File. Volymsidhuvudet är alltid placerat på samma plats.

3. Allokeringsfil håller reda på vilka allokeringsblock som är upptagna och vilka som är lediga. Varje allokeringsblock motsvaras av en bit där 1 står för att den är upptagen och 0 står för att den är ledig. Allokeringsfilen behöver inte nödvändigtvis vara placerad i början av volymen utan platsen kan variera.

4. Katalogfil innehåller register om alla filer och mappar som finns lagrade på volymen. Katalogfilen i HFS Plus är väldigt lik den motsvarande i HFS, den största skillnaden är att registren är större för att tillåta fler fält och samtidigt tillåta att de fälten i sin tur är större (t.ex. för att tillåta de längre 255-tecken långa filnamnen i HFS Plus). Ett register i katalogfilen i HFS är 512 bytes medan ett register i katalogfilen i HFS Plus är 4 KiB (Mac OS) eller 8 KiB (Mac OS X). Fälten i HFS har en bestämd storlek medan i HFS Plus så varierar fältens storlek beroende på hur mycket information de innehåller.

5. Extents Overflow File är ett annat B*-träd som sparar information om de allokeringsblock som är allokerade till varje fil.

6. Attributfil är en ny fil som innehåller ytterligare ett B*-träd som inte har någon motsvarande struktur i HFS. Attributfilen kan spara tre olika typer av 4 KiB register: Inline Data Attribut register, Gaffel Data Attribut register och Extension Attribut register. Inline Data Attribut register sparar små attribut som får plats inuti registret i sig. Gaffel Data Attribut innehåller referenser till ett maximum av åtta extents som kan innehålla större attribut. Extension attribut används för att bygga ut Gaffel Data Attribut register när de åtta extentregistrena redan är använda.

7. Uppstartsfilen är designad för icke-Mac OS-system som inte har stöd för HFS eller HFS Plus. Den påminner om bootblocken på en HFS-volym.

8. Den näst sista strukturen är det Alternativa volymhuvudet som motsvarar Alternate Master Directory Block i en HFS-volym.

9. Den sista strukturen i volymen är reserverad för Apple. Den används under processen då datorn tillverkas.




Källor

Denna artikel är helt eller delvis baserad på material från engelskspråkiga Wikipedia


Personliga verktyg