HFS Plus
Från Rilpedia
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 filsystemet på Macintosh 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