HFS Plus

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
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[1]
Erlaubte Zeichen im Dateinamen jedes Unicode-Zeichen, einschließlich NUL. (Das Betriebssystem weist aus Kompatibilitätsgründen einige Zeichen ab.)
Eigenschaften
Datumsangaben einer Datei Erzeugt, verändert, gesichert, letzter Zugriff, geändert
Datumsbereich 1. Januar 1904 bis 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 mit Hilfe des Logical Volume Managers Core Storage; siehe FileVault
Unterstützende Betriebssysteme Mac OS 8, Mac OS 9, Mac OS X, teilweise Linux, Windows NT (nur lesbar)

Das Dateisystem HFS Plus oder – gängiger – HFS+, ist eine Weiterentwicklung von HFS. Es ist das Standard-Dateisystem für Macintosh-Rechner und iOS-Geräte und kann für alle internen und externen Speichermedien verwendet werden. Im Betriebssystem selbst wird es als Mac OS Extended und sein Vorgänger HFS als Mac OS Standard bezeichnet.

Die später ergänzte Journaling-Erweiterung (Abkürzung jHFS+) ist bei aktuellen Macs standardmäßig aktiv und wird auch vorgeschlagen, wenn Festplatten & Co. formatiert werden sollen. Wie etwa die freien Dateisysteme ext3/ext4, XFS und ReiserFS oder das kommerzielle NTFS der Firma Microsoft, weist es damit 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 kann sich bei der Partition bzw. bei der Partitionsverwaltung und Zugriffsgeschwindigkeit eine höhere Effizienz ergeben.

Kompatibilität[Bearbeiten]

Unixoide Betriebssysteme[Bearbeiten]

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[2] oder das Dateisystem-Journal zu deaktivieren.[3] 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[Bearbeiten]

HFS+ kann von NT-basierenden Windows-Betriebssystemen nur mit Hilfe von extra Software genutzt werden. Boot Camp 3.0, welches mit Mac OS X 10.6 mitgeliefert wird, bietet die Möglichkeit, lesend auf HFS+-Dateisysteme zuzugreifen.[4]

Kommerzielle Software zum Lesen von HFS(+) unter Windows[Bearbeiten]

Nicht kommerzielle Software zum Lesen von HFS(+) unter Windows[Bearbeiten]

Mac OS X/Classic[Bearbeiten]

Die Classic-Umgebung unter Mac OS X erfordert eine mit HFS+ formatierte Systempartition, das Dateisystem UFS wird nicht unterstützt.

Fragmentierung[Bearbeiten]

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 deren Größe bereits vorher 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 eine einzelne Abbuchung eines großen zusammenhängenden Blockes zusammenzufassen.

Diese Fragmentvermeidung ist wirkungslos, 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 zur Laufzeit 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 automatische Gruppierung intensiv genutzter 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 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 Festplatte minimiert werden. Die Nutzungsintensität 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 diese Dateien wird 0,5 % der Gesamtkapazität des Dateisystems verwendet. Die Anzahl der Dateien in diesem 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[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. a b http://support.apple.com/kb/HT2422 Apple Support Dokument zu HFS+ (englisch) abgerufen am 13. November 2010
  2. Mounting HFS+ with Write Access in Debian: Schreibzugriff auf HFS+ (englisch)
  3. disable HFS+ journaling on Leopard to use disks read/write with linux HFS+-Journal für Schreibunterstützung deaktivieren (englisch)
  4. http://support.apple.com/kb/HT3777?viewlocale=de_DE