Hierarchisches Dateisystem

Hierarchical File System (HFS) ist ein Dateisystem, das von Apple Inc. für den Gebrauch in Computersystemen entwickelt ist, die Mac OS führen. Ursprünglich entworfen für den Gebrauch auf Disketten und Festplatten kann es auch auf Read-Only-Medien wie CD-ROMs gefunden werden. HFS wird auch Mac OS Standard genannt (oder, falsch, "HFS Standard"), während sein Nachfolger, HFS Plus, auch Mac OS Extended (oder, falsch, "HFS Extended") genannt wird. Mit der Einführung von OS X 10.6 hat Apfel Unterstützung fallen lassen, um HFS Platten und Images zu formatieren oder zu schreiben, die nur als Read-Only-Volumina unterstützt werden.

Geschichte

HFS wurde durch den Apfel im September 1985 spezifisch eingeführt, um die erste Festplatte des Apfels für den Macintosh zu unterstützen, Macintosh File System (MFS), das ursprüngliche Dateisystem ersetzend, das mehr als eineinhalb Jahr früher mit dem ersten Computer von Macintosh eingeführt worden war. HFS hat schwer auf das erste hierarchische SOS des Apfels Betriebssystem für den erfolglosen Apple III gezogen, der auch als die Basis für hierarchische Feilstaub-Systeme auf dem Apple IIe und Apple Lisa gedient hat. HFS wurde von Patrick Dirks und Bill Bruffey entwickelt. Es hat mehrere Designeigenschaften mit MFS geteilt, die in anderen Dateisystemen der Zeit (wie das FETT VON DOS) nicht verfügbar waren. Dateien konnten vielfache Gabeln haben (normalerweise Daten und eine Quellengabel), der Programm-Code erlaubt hat, getrennt von Mitteln wie Ikonen versorgt zu werden, die eventuell lokalisiert werden müssten. In Dateien wurde mit einzigartigen Dateipersonalausweisen aber nicht Dateinamen Verweise angebracht, und Dateinamen konnten 255 Charaktere lange sein (obwohl der Finder nur ein Maximum von 31 Charakteren unterstützt hat).

Jedoch war MFS optimiert worden, um auf sehr kleinen und langsamen Medien, nämlich Disketten verwendet zu werden, so wurde HFS eingeführt, um einige der Leistungsprobleme zu überwinden, die mit der Einführung von größeren Medien, namentlich Festplatten angekommen sind. Die Hauptsorge war die Zeit musste den Inhalt einer Mappe zeigen. Unter MFS wurde die ganze Datei und Schlagseite habende Verzeichnisinformation in einer einzelnen Datei versorgt, die das System suchen musste, um eine Liste der in einer besonderen Mappe versorgten Dateien zu bauen. Das hat gut mit einem System mit einigen hundert Kilobytes der Lagerung und vielleicht hundert Dateien gearbeitet, aber weil die Systeme in Megabytes und Tausende von Dateien hineingewachsen sind, ist sich die Leistung schnell abgebaut.

Die Lösung war, die Verzeichnisstruktur von MFS durch einen mehr passenden zu größeren Dateisystemen zu ersetzen. HFS hat die flache Tabellenstruktur durch die Katalogdatei ersetzt, die eine B-Baumstruktur verwendet, die sehr schnell unabhängig von der Größe gesucht werden konnte. HFS hat auch verschiedene Strukturen neu entworfen, um im Stande zu sein, größere Zahlen, ganze 16-Bit-Zahlen zu halten, die durch 32 Bit fast allgemein ersetzen werden. Sonderbar war einer der wenigen Plätze dieser "upsizing" hat nicht stattgefunden, das Dateiverzeichnis selbst, das HFS auf insgesamt 65,535 Dateien auf jeder logischen Platte beschränkt.

Während HFS ein Eigentumsdateisystemformat ist, wird er gut dokumentiert, also gibt es gewöhnlich für den Zugang verfügbare Lösungen, hat HFS Platten von den meisten modernen Betriebssystemen formatiert.

Apfel hat HFS aus der Notwendigkeit mit seiner ersten 20-Mb-Festplatte eingeführt, die sich für den Macintosh im September 1985 bietet. Jedoch wurde HFS bis zum System 3.0 nicht weit eingeführt, der mit dem Macintosh Plus im Januar 1986 zusammen mit dem größeren 800-Kilobyte-Diskette-Laufwerk für den Macintosh debütiert hat, der auch HFS-Unterstützung verlangt hat. Noch wichtiger HFS wurde ins 128K ROM des neuen Plus hart codiert, nicht nur Raum von der Systemsoftwareplatte, sondern auch RAM befreiend. Jedoch wurde RAM-basierte HFS-Unterstützung auch für den Gebrauch mit dem früheren Macintosh 512K's 64K ROM durch die Hinzufügung einer INIT Datei auf der Systemplatte durchgeführt. Die Einführung von HFS war die erste Förderung durch den Apfel, um ein Computermodell von Macintosh zurückzulassen: Der ursprüngliche 128K Macintosh, der an genügend Gedächtnis Mangel gehabt hat, um den HFS-Code zu laden, und schnell unterbrochen wurde.

1998 hat Apfel HFS eingeführt Plus, ineffiziente Zuteilung des Speicherplatzes in HFS zu richten und andere Verbesserungen hinzuzufügen. HFS wird noch durch jetzige Versionen von Mac OS unterstützt, aber mit Mac OS X anfangend, kann ein HFS Volumen nicht für das Starten, und Anfang mit OS X 10.6 verwendet werden (Schnee-Leopard), HFS Volumina sind read-only- und können nicht geschaffen oder aktualisiert werden.

Design

Das Hierarchische Dateisystem teilt ein Volumen in logische Blöcke von 512 Bytes. Diese logischen Blöcke werden dann zusammen in Zuteilungsblöcke gruppiert, die ein oder logischere Blöcke abhängig von der Gesamtgröße des Volumens enthalten können. HFS verwendet einen 16-Bit-Wert, um Zuteilungsblöcke zu richten, die Zahl von Zuteilungsblöcken zu 65,535 (2-1) beschränkend.

Es gibt fünf Strukturen, die ein HFS Volumen zusammensetzen:

  1. Logische Blöcke 0 und 1 des Volumens sind die Stiefelblöcke, die Systemanlauf-Information enthalten. Zum Beispiel, die Namen des Systems und Shell (gewöhnlich der Finder) Dateien, die beim Anlauf geladen werden.
  2. Logischer Block 2 enthält den Master-Verzeichnisblock (auch bekannt als MDB). Das definiert ein großes Angebot an Daten über das Volumen selbst, zum Beispiel Datum & Zeitstempel dafür, als das Volumen, die Position der anderen Volumen-Strukturen wie das Volumen Bitmap oder die Größe von logischen Strukturen wie Zuteilungsblöcke geschaffen wurde. Es gibt auch ein Duplikat des MDB genannt den Abwechselnden Master-Verzeichnisblock (auch bekannt als Abwechselnden MDB) gelegen am entgegengesetzten Ende des Volumens im zweiten, um logischer Block zu dauern. Das ist hauptsächlich für den Gebrauch durch Plattendienstprogramme beabsichtigt und wird nur aktualisiert, wenn entweder die Katalogdatei oder Ausmaß-Überschwemmungsdatei in der Größe wachsen.
  3. Logischer Block 3 ist der Startblock des Volumens Bitmap, der nachgeht, von denen Zuteilungsblöcke im Gebrauch sind, und die frei sind. Jeder Zuteilungsblock auf dem Volumen wird durch ein bisschen in der Karte vertreten: Wenn das Bit dann gesetzt wird, ist der Block im Gebrauch; wenn es dann klar ist, dass der Block frei ist, verwendet zu werden. Seit dem Volumen muss Bitmap wenig haben, um jeden Zuteilungsblock zu vertreten, seine Größe wird durch die Größe des Volumens selbst bestimmt.
  4. Die Ausmaß-Überschwemmungsdatei ist ein B-Baum, der Extraausmaße enthält, die registrieren, welche Zuteilungsblöcke zugeteilt werden, zu denen Dateien einmal die anfänglichen drei Ausmaße in der Katalogdatei verbraucht werden. Spätere Versionen haben auch die Fähigkeit zur Ausmaß-Überschwemmungsdatei hinzugefügt, um Ausmaße dass schlechte Rekordblöcke zu versorgen, das Dateisystem davon abzuhalten, zu versuchen, einen schlechten Block einer Datei zuzuteilen.
  5. Die Katalogdatei ist ein anderer B-Baum, der Aufzeichnungen für alle Dateien und im Volumen versorgte Verzeichnisse enthält. Es versorgt vier Typen von Aufzeichnungen. Jede Datei besteht aus einer Dateifaden-Aufzeichnung und einer Dateiaufzeichnung, während jedes Verzeichnis aus einer Verzeichnisfaden-Aufzeichnung und einer Verzeichnisaufzeichnung besteht. Dateien und Verzeichnisse in der Katalogdatei werden durch ihren einzigartigen Katalogknotenpersonalausweis (oder CNID) gelegen.
  6. * versorgt Eine Dateifaden-Aufzeichnung gerade den Namen der Datei und den CNID seines Elternteilverzeichnisses.
  7. * versorgt Eine Dateiaufzeichnung eine Vielfalt von metadata über die Datei einschließlich seines CNID, der Größe der Datei, drei Zeitstempel (als die Datei, letzte modifiziert, letzt unterstützt geschaffen wurde), die ersten Dateiausmaße der Daten und Quellengabeln und Zeigestöcke zu den ersten Daten der Datei und Quellenausmaß-Aufzeichnungen in der Ausmaß-Überschwemmungsdatei. Die Dateiaufzeichnung versorgt auch zwei 16-Byte-Felder, die vom Finder verwendet werden, um Attribute über die Datei einschließlich Dinge wie sein Schöpfer-Code, Typ-Code, das Fenster zu versorgen, sollte die Datei in und seine Position innerhalb des Fensters erscheinen.
  8. * versorgt Eine Verzeichnisfaden-Aufzeichnung gerade den Namen des Verzeichnisses und den CNID seines Elternteilverzeichnisses.
  9. * Eine Verzeichnisaufzeichnung, die Daten wie die Zahl von Dateien versorgt, die innerhalb des Verzeichnisses, des CNID des Verzeichnisses, drei Zeitstempel versorgt sind (als das Verzeichnis, letzte modifiziert, letzt unterstützt geschaffen wurde). Wie die Dateiaufzeichnung versorgt die Verzeichnisaufzeichnung auch zwei 16-Byte-Felder für den Gebrauch durch den Finder. Diese Lager-Dinge wie die Breite & Höhe und x & Y-Koordinaten für das Fenster haben gepflegt, den Inhalt des Verzeichnisses, die Anzeigeweise (Ikonenansicht, Listenansicht, usw.) des Fensters und der Position der Schriftrolle-Bar des Fensters zu zeigen.

Beschränkungen

Die Katalogdatei, die die ganze Datei und Verzeichnisaufzeichnungen in einer einzelnen Datenstruktur versorgt, läuft auf Leistungsprobleme hinaus, wenn das System erlaubt stark mehrzubeanspruchen, weil nur ein Programm dieser Struktur auf einmal schreiben kann, bedeutend, dass viele Programme in der Warteschlange wegen eines Programms "hogging" auf das System warten können. Es ist auch eine ernste Zuverlässigkeitssorge, weil der Schaden an dieser Datei das komplette Dateisystem zerstören kann. Das hebt sich von anderen Dateisystemen ab, die Datei und Verzeichnisaufzeichnungen in getrennten Strukturen versorgen (wie das FETTE Dateisystem von DOS oder das Unix Dateisystem), wo das Verteilen der Struktur über die Platte bedeutet, dass das Beschädigen eines einzelnen Verzeichnisses allgemein nichttödlich ist und die Daten vielleicht mit in den nichtbeschädigten Teilen gehaltenen Daten wieder aufgebaut werden können.

Zusätzlich ist die Grenze von 65,535 Zuteilungsblöcken auf Dateien hinausgelaufen, die eine "minimale" Größe gleichwertig 1/65,535. die Größe der Platte haben. So konnte jedes gegebene Volumen, macht dir nichts aus seiner Größe, nur ein Maximum von 65,535 Dateien versorgen. Außerdem würde jede Datei mehr Raum zugeteilt, als es wirklich bis zur Zuteilungsblock-Größe gebraucht hat. Als Platten klein waren, ist das von wenig Bedeutung gewesen, weil die individuelle Zuteilungsblock-Größe trivial war, aber weil Platten angefangen haben, sich dem 1-GB-Zeichen zu nähern, ist die kleinste verfügbare Fläche, die jede Datei besetzen konnte (ein einzelner Zuteilungsblock) übermäßig groß geworden, bedeutende Beträge des Speicherplatzes vergeudend. Zum Beispiel, auf einer 1-GB-Platte, ist die Zuteilungsblock-Größe unter HFS 16 Kilobytes, so sogar würde eine 1-Byte-Datei 16 Kilobytes des Speicherplatzes aufnehmen. Diese Situation war weniger von einem Problem für Benutzer, die große Dateien haben (wie Bilder, Datenbanken oder Audio-), weil diese größeren Dateien weniger Raum als ein Prozentsatz ihrer Dateigröße vergeudet haben. Benutzer mit vielen kleinen Dateien konnten andererseits eine reichliche verfügbare Fläche wegen der großen Zuteilungsblock-Größe verlieren. Das hat Verteilen-Platten in kleinere logische Volumina sehr bittend um Benutzer von Mac gemacht, weil kleine auf einem kleineren Volumen versorgte Dokumente viel weniger Raum aufnehmen würden, als wenn sie auf einer großen Teilung wohnen würden. Dasselbe Problem hat im FAT16 Dateisystem bestanden.

HFS unterstützt sowohl mit dem Fall empfindliche als auch gegen den Fall unempfindliche Operation. Mit dem Fall empfindliche Weise verursacht Fehler mit einigen Anwendungen.

Siehe auch

  • Vergleich von Dateisystemen
  • HFVExplorer

Außenverbindungen


Kapitalwert / Aufzug-Musik
Impressum & Datenschutz