- HFS+
-
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 Anzahl aller Dateien 232-1 (4.294.967.295) Länge des Dateinamens 255 Zeichen Größe des Dateisystems 16 EiB Erlaubte Zeichen im Dateinamen jedes Unicode-Zeichen, einschließlich NULL. (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 Dateirechte-Verwaltung Unix-Rechte, ACLs (ab Mac OS X v10.4 ) Transparente Komprimierung nein 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 und HFS+ sind die Standard-Dateisysteme der derzeitigen Macintosh-Betriebssysteme der Firma Apple. Es 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 ergibt sich bei der Partition bzw. bei der Partitionsverwaltung und Zugriffsgeschwindigkeit eine höhere Effizienz.
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 verfügbar. 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+ kann unter den NT-basierenden Windows-Betriebssystemen mit Hilfe kommerzieller Programme genutzt werden.
- TransMac von Acute Systems
- MacDrive von Mediafour
- MacOpener von DataViz (Entwicklung beendet – discontinued)
Darüber hinaus gibt es eine kostenlose Möglichkeit mit HFSExplorer. 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. Ohne solche Programme ist von Windows aus kein Zugriff auf ein HFS-Dateisystem möglich.
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 verwendet Mac OS X deshalb ein zusätzliches Verfahren zur "Defragmentierung im Vorübergehen" (on the fly defragmentation). Jedes Mal, wenn eine Datei geöffnet wird, 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
Wikimedia Foundation.