- HFS plus
-
HFS+ Hersteller Apple Vollständige Bezeichnung Hierarchical File System Plus Erstveröffentlichung 19. Januar 1998 (Mac OS 8.1) Partitionskennung Apple_HFS (Apple Partition Map)
0xAF (MBR)
Apple_HFSX (Apple Partition Map) when HFSX
48465300-0000-11AA-
AA11-00306543ECAC (GPT)Technische Umsetzung Verzeichnisse B*-Baum Dateien B*-Baum Defektblockliste B*-Baum Maximalwerte Größe einer Datei 8 EiB[1] Anzahl aller Dateien 232-1 (4.294.967.295) Länge des Dateinamens 255 Zeichen Größe des Dateisystems 8 EiB[2] Erlaubte Zeichen im Dateinamen jedes Unicode-Zeichen, einschließlich NUL. (Das Betriebssystem weist aus Kompatbilitätsgründen einige Zeichen ab.) Eigenschaften Datumsangaben einer Datei Erzeugt, verändert, gesichert, letzter Zugriff, geändert Datumsbereich 1. Januar 1904 - 6. Februar 2040 Forks unterstützt Dateiattribute Farbe (3 Bits, alle anderen 1 Bit), locked, custom icon, bundle, invisible, alias, system, stationery, inited, no INIT resources, shared, desktop, extended attributes (ab Mac OS X v10.5) Dateirechte-Verwaltung Unix-Rechte, ACLs (ab Mac OS X v10.4 ) Transparente Komprimierung Ja, ab Mac OS X 10.6 Transparente Verschlüsselung eingeschränkt. Ab Mac OS X v10.3 gibt es das sogenannte FileVault. Benutzerverzeichnisse werden dabei in einem per AES verschlüsselten volume image gehalten (.dmg-Datei). Unterstützende Betriebssysteme Mac OS 8, Mac OS 9, Mac OS X, teilweise Linux Das HFS plus- oder HFS+-Dateisystem ist eine Weiterentwicklung von HFS. HFS+ hat inzwischen HFS als Standard-Dateisysteme der derzeitigen Macintosh-Betriebssysteme der Firma Apple abgelöst. Es wird auch als Mac OS Extended bezeichnet, während sein Vorgänger HFS auch MAC OS Standard genannt wurde. HFS+ kann für Festplatten, Disketten, CDs und USB-Speicher-Sticks verwendet werden.
HFS+ existiert auch mit Journaling-Erweiterung und weist daher ebenso wie z. B. NTFS der Firma Microsoft sowie die freien Dateisysteme ext3, XFS und ReiserFS eine höhere Stabilität gegenüber Dateisystemen auf, die kein Journaling verwenden (FAT16 und FAT32, ext2, HFS u. a.).
Die Zuordnungseinheiten von HFS+ sind kleiner als bei FAT16/32. Dadurch können sich bei der Partition bzw. bei der Partitionsverwaltung und Zugriffsgeschwindigkeit eine höhere Effizienz ergeben.
Inhaltsverzeichnis
Kompatibilität
Unixoide Betriebssysteme
Unter den Linux-Distributionen ist das Lesen und Schreiben von HFS/HFS+ oft schon durch einfaches mounten möglich, wenn der Kernel das hfsplus-Dateisystem unterstützt; ansonsten sind noch die Softwarepakete hfsutils (nur HFS) sowie hfsplus zum Nachinstallieren verfügbar. Für Schreibunterstützung kann es notwendig sein, hfsprogs zu installieren[3] oder das Dateisystem-Journal zu deaktivieren[4] Auch für BSD-Systeme gibt es entsprechende Software-Pakete. Das heißt, dass die Daten auf dem Datenträger von UNIX/Linux-Systemen gelesen werden können, wenn die entsprechende Kernel-Unterstützung installiert wurde.
Microsoft Windows
HFS+ wird von Haus aus von Windows nicht unterstützt, kann jedoch unter den NT-basierenden Windows-Betriebssystemen mit Hilfe kommerzieller Programme genutzt werden.
- TransMac von Acute Systems
- MacDrive von Mediafour
- HFS for Windows von Paragon Software Group
- MacOpener von DataViz (Entwicklung eingestellt)
Darüber hinaus gibt es mit HFSExplorer eine kostenlose Möglichkeit für den lesenden Zugriff. Das Programm ist hauptsächlich in Java geschrieben, nur wenige Teile für den Festplattenzugriff sind auf C-Basis. Getestet und unterstützt werden Windows XP und Vista, es funktioniert aber auch unter Windows 7.
Ab Boot Camp 3.0, welches mit Mac OS X 10.6 mitgeliefert wird, ist es zudem möglich, lesend auf HFS-plus-Dateisysteme zuzugreifen[5].
Mac OS X/Classic
Benötigt man unter Mac OS X die Classic-Umgebung (hier wird eine Emulation von OS 9.x gestartet) für ältere Anwendungsprogramme oder alte Hardware (wie beispielsweise USB-Scanner), so muss die Systempartition mit HFS+ formatiert sein. Das Dateisystem UFS wird von Classic nicht unterstützt.
Fragmentierung
HFS und HFS+ sind so ausgelegt, dass sie den größten freien Speicherblock auf der Festplatte suchen, in dem eine Datei gespeichert werden soll. Erst wenn eine Datei nicht in den größten freien Speicherblock passt, wird die Datei aufgeteilt (fragmentiert), und der noch nicht geschriebene Teil wird in einem weiteren Block gespeichert.
Eine solche Vorgehensweise setzt voraus, dass beim Schreiben einer Datei bereits im Vorhinein deren Größe bekannt ist. Dies ist unter Mac OS X oft gegeben, da die Systembibliotheken zur Verarbeitung von Dokumenten so ausgelegt sind, dass sie Dateien in der Regel atomar aktualisieren: Beim Speichern einer Änderung wird die aktuelle Version des Dokumentes in einem Rutsch in eine neue Datei geschrieben, danach die frühere Version gelöscht und der Dateiname auf die neue Datei übertragen.
Zusätzlich vermeidet es Mac OS X, frei gewordene Speicherblöcke gelöschter Dateien wiederzuverwenden, falls möglich. Ab Mac OS X 10.2 wird außerdem die Abbuchung freier Blöcke verzögert, um die Reservierung mehrerer kleiner Blöcke in die einzelne Abbuchung eines großen zusammenhängenden Blockes zusammenzufassen zu können.
Diese Fragmentvermeidung greift nicht, wenn Dateien langsam wachsen, also nach dem ersten Erstellen einer Datei später weitere Blöcke angehängt werden. Ab Version 10.3 kann Mac OS X deshalb auch fliegend defragmentieren (on the fly defragmentation). Beim Öffnen einer Datei wird geprüft, ob diese in mehr als acht Teile fragmentiert ist. Ist dies der Fall und alle der nachfolgenden Bedingungen treffen zusätzlich zu, wird die Datei in einen genügend großen freien Speicherbereich verschoben und hierdurch defragmentiert:
- Die Datei wird nur von einem einzigen Prozess geöffnet.
- Sie liegt auf einem beschreibbaren Medium.
- Die Dateigröße beträgt höchstens 20 MiB.
- Innerhalb der letzten Minute wurde die Datei nicht verändert.
- Das Betriebssystem läuft seit mindestens drei Minuten.
Ein weiteres Verfahren, das ab Mac OS X 10.3 zum Einsatz kommt, ist die selbstanpassende Gruppierung „heißer Dateien“ (adaptive hot file clustering): Durch kontinuierliches Führen einer Statistik über die Häufigkeit der Lesezugriffe auf jede Datei identifiziert Mac OS X die „heißesten“, d.h. am intensivsten genutzten Dateien und verschiebt diese in einen Bereich des Dateisystems, der sich direkt hinter den zentralen Metadaten befindet. Bei dieser Verschiebung werden die Dateien defragmentiert und kommen in direkter Nachbarschaft der am häufigsten benutzten Elemente des HFS-Dateisystems zu liegen, so dass Kopfbewegungen der Platte minimiert werden. Die Nutzungsintensität und damit die „Temperatur“ einer Datei wird ermittelt, indem die Anzahl der innerhalb eines Beobachtungsfensters der letzten 60 Stunden gelesenen Bytes durch die Gesamtgröße der Datei geteilt wird. Als Speicherbereich für die heißesten Dateien wird 0,5 % der Gesamtkapazität des Dateisystems verwendet. Die Anzahl der Dateien im heißen Bereich wird auf maximal 5.000 beschränkt, und nur Dateien, die höchstens 10 MiB groß sind, nehmen an dem Verfahren teil.
Weitere Defragmentierungsverfahren sind nicht Bestandteil von Mac OS X. Apple rät davon ab, Programme zur nachträglichen Defragmentierung zu verwenden, da sich der Einsatz in der Regel nicht lohnt.
Weblinks
- hfsplus-Projektseite bei SourceForge
- HFSExplorer, kostenloser HFS+-Explorer
- Apple Support-Artikel HT1375: About disk optimization with Mac OS X
- Quellcode der offenen Bestandteile von Mac OS X (enthält Teile der Original-Implementierung von HFS/HFS+)
Einzelnachweise
- ↑ http://support.apple.com/kb/HT2422 Apple Support Dokument zu HFS+ (englisch) abgerufen am 13. November 2010
- ↑ http://support.apple.com/kb/HT2422 Apple Support Dokument zu HFS+ (englisch) abgerufen am 13. November 2010
- ↑ Mounting HFS+ with Write Access in Debian: Schreibzugriff auf HFS+ (englisch)
- ↑ disable HFS+ journaling on Leopard to use disks read/write with linuxHFS+-Journal für Schreibunterstützung deaktivieren (englisch)
- ↑ http://support.apple.com/kb/HT3777?viewlocale=de_DE
Wikimedia Foundation.