Dateisysteme. Was sind FAT und NTFS? Funktionen von FAT32-, NTFS- und exFAT-Dateisystemen Software-RAID-Festplatten-Array

Jedes Mal, wenn ich FatFs verwende, denke ich, dass es schön wäre zu verstehen, wie alles darin funktioniert. Ich habe diese Frage lange aufgeschoben, und endlich ist das Eis gebrochen. Das globale Ziel besteht also darin, Speicherkarten auszuräuchern. Wenn es im Detail klappt, besteht das aktuelle Ziel darin, sich mit dem Dateisystem auseinanderzusetzen.

Ich muss gleich sagen, dass ich nicht das Ziel hatte, einen eigenen Treiber zu schreiben oder die Feinheiten im Detail zu verstehen, es war einfach nur mein Interesse. Die Aufgabe ist recht einfach zu verstehen, daher wird es hier keine „Codes“ geben.

Das erste, was wir also verstehen müssen, ist, dass wir bei der direkten Kommunikation mit einer Speicherkarte entweder 512 Bytes lesen oder schreiben können, es sind keine anderen Aktionen vorgesehen. Da wir ständig Dateien kopieren und löschen und die Dateigrößen immer unterschiedlich sind, erscheinen leere Bereiche auf der Karte, gemischt mit den aufgezeichneten. Damit sich der Benutzer nicht um die Platzierung von Daten kümmern muss, gibt es eine Ebene, die sich um diese Belange kümmert: das Dateisystem.

Wie oben erwähnt, können Sie nur Vielfache von 512 Bytes schreiben und lesen, d. h. 1 Sektor. Es gibt auch ein Konzept: Ein Cluster besteht einfach aus mehreren Sektoren. Wenn die Clustergröße beispielsweise 16 kB beträgt, bedeutet dies, dass er 16000/512 = 31,25 bzw. 32 Sektoren hat und die tatsächliche Clustergröße 16384 Byte beträgt. Alle Dateien nehmen eine Größe ein, die ein Vielfaches der Clustergröße beträgt. Selbst wenn die Datei 1 KB groß ist und der Cluster 16 KB groß ist, belegt die Datei die gesamten 16 KB.

Es wäre logisch, kleine Cluster zu bilden, aber dann kommt die Beschränkung der maximalen Anzahl von Dateien und ihrer Größe ins Spiel. FAT16 arbeitet mit 16-Bit-Daten, sodass Sie nicht mehr als 2^16 Cluster unterbringen können. Je kleiner sie sind, desto effizienter wird der Platz für kleine Dateien genutzt, aber desto weniger Informationen können auf der Festplatte gespeichert werden. Umgekehrt gilt: Je größer die Datei, desto mehr Informationen können Sie unterbringen, aber desto weniger effizient wird der Platz für kleine Dateien genutzt. Die maximale Clustergröße beträgt 64 KB, das Maximum für FAT16 beträgt also 64 KB*2^16 = 4 GB.

Ausgangsdaten: Es gibt eine 1GB Micro-SD-Speicherkarte. Beschriftet mit MYDISK, vollständig formatiert, Clustergröße 16 KB.

Sie benötigen einen Hex-Editor, aber kein Editor funktioniert; Sie benötigen einen, der die gesamte Festplatte anzeigen kann und nicht nur die Dateien auf der Festplatte. Nach allem, was ich finden konnte: WinHex ist am besten geeignet, aber kostenpflichtig; HxD ist einfach und kostenlos, aber ich konnte es nicht dazu bringen, Änderungen auf der Festplatte zu speichern; DMDE ist etwas unbenutzerfreundlich, kostenlos und ermöglicht das Speichern von Änderungen. Generell habe ich mich für HxD entschieden.

Zunächst lohnt es sich, die Struktur von FAT16 zu betrachten. Das Bild zeigt, in welcher Reihenfolge sich die verschiedenen Teile des Dateisystems befinden.

Alle Serviceinformationen werden im Bootsektor gespeichert. Der FAT-Bereich speichert Informationen darüber, wie sich Dateidaten auf der Festplatte befinden. Das Stammverzeichnis enthält Informationen darüber, welche Dateien sich im Stammverzeichnis der Festplatte befinden. Der Datenbereich enthält die in den Dateien enthaltenen Informationen. Alle Bereiche folgen strikt hintereinander, d.h. Nach dem Bootsektor beginnt sofort der FAT-Bereich. Schauen wir uns die Details unten an.

Aufgabe: Das Prinzip verstehen, nach dem Dateinamen und deren Inhalte angeordnet sind. Beginnen wir also damit, das Stammverzeichnis zu durchsuchen, um zu verstehen, welche Dateien verfügbar sind. Dabei helfen uns Daten aus dem Bootbereich.

Die interessantesten Daten sind in der Tabelle aufgeführt

Als erstes müssen wir die Größe des Kofferraumbereichs kennen. Wir schauen uns die Adresse 0x0E an und sehen, dass 4 Sektoren für den Boot-Bereich reserviert sind, d.h. Der FAT-Bereich beginnt bei Adresse 4*512 = 0x800.

Die Anzahl der FAT-Tabellen kann über die Adresse 0x10 des Boot-Bereichs bestimmt werden. In unserem Beispiel gibt es zwei davon, warum also zwei, weil jede Tabelle als Backup-Tabelle dupliziert wird, sodass im Falle eines Ausfalls die Daten wiederhergestellt werden können. Die Tabellengröße wird an Adresse 0x16 angegeben. Somit beträgt die Größe der Datei 512*2*0xEE = 0x3B800 und das Stammverzeichnis beginnt bei der Adresse: 0x800 + 0x3B800 = 0x3C000

Im Stammverzeichnis sind alle Elemente in 32 Bytes unterteilt. Das erste Element ist die Datenträgerbezeichnung, die folgenden Elemente sind Dateien und Ordner. Wenn der Dateiname mit 0xE5 beginnt, bedeutet dies, dass die Datei gelöscht wurde. Wenn der Name mit 0x00 beginnt, bedeutet dies, dass die vorherige Datei die letzte war.

Ich habe mir eine ziemlich interessante Stammverzeichnisstruktur ausgedacht. Die Karte wurde komplett formatiert, dann wurden 2 erstellt Textdatei, die in MyFile.txt und BigFile.txt umbenannt werden.

Wie Sie sehen, sind zusätzlich zu meinen beiden Dateien noch eine Reihe linker Dateien entstanden, über deren Herkunft man nur spekulieren kann.

Das Wichtigste, was hier hervorgehoben werden kann, ist die Adresse des ersten Clusters, von dem aus die Daten unserer Datei beginnen. Die Adresse liegt immer am Offset 0x1A. Der Name unserer Datei MyFile.txt liegt beispielsweise an der Adresse 0x3C100, wir fügen 0x1A hinzu, dort sehen wir die Nummer des ersten Clusters. = 0x0002 d.h. zweiter Cluster. Für die Datei BigFile.txt beginnen die Daten im dritten Cluster.

Außerdem können Sie im Stammverzeichnis das Datum und die Uhrzeit der letzten Bearbeitung der Datei herausfinden; diese Frage war für mich nicht sehr interessant, daher werde ich sie umgehen. Die letzte nützliche Sache, die Ihnen das Stammverzeichnis mitteilen kann, ist seine Größe, damit wir herausfinden können, wo die Daten beginnen.

Die Größe wird im Bootsektor unter Adresse 0x11(2Byte) = 0x0200*32 = 0x4000 bzw. 16384 Byte angegeben.

Fügen wir seine Größe zur Stammadresse hinzu: 3C000 + 4000 = 40000 ist die Adresse des ersten Datenclusters, aber wir benötigen den zweiten, um MyFile.txt zu finden. Die Anzahl der Sektoren im Cluster beträgt 32, Clustergröße = 32*512 = 16384 oder 0x4000, also addieren wir zur Adresse des ersten Clusters dessen Größe, d. h. Theoretisch sollte der zweite Cluster bei 0x44000 beginnen.

Wir gehen zur Adresse 0x44000 und sehen, dass die Daten zu BigFile.txt gehören (es ist einfach Müll)

Es stellt sich heraus, dass es eine kleine Feinheit gibt, die Nummerierung der Cluster beginnt bei der Sekunde, es ist nicht klar, warum dies getan wurde, aber es ist eine Tatsache, d. h. Tatsächlich sind wir zum dritten Cluster übergegangen. Gehen wir einen Cluster zurück, um 0x40000 zu adressieren und die erwarteten Daten zu sehen.

Nun stellt sich die Frage. Warum brauchen wir eine FAT-Tabelle? Der Punkt ist, dass die Daten fragmentiert werden können, d. h. Der Anfang der Datei kann in einem Cluster liegen und das Ende in einem völlig anderen. Darüber hinaus kann es sich um völlig unterschiedliche Cluster handeln. Es können mehrere davon vorhanden sein, die in verschiedenen Datenbereichen verstreut sind. Die FAT-Tabelle ist eine Art Karte, die uns sagt, wie wir uns zwischen Clustern bewegen.

Geben wir ein Beispiel: Eine Menge zufälliger Müll wird in die Datei BigFile.txt gestopft, sodass sie nicht einen Cluster, sondern mehrere belegt. Wir gehen dorthin, wo die FAT-Tabelle beginnt, und sehen uns ihren Inhalt an.

Die ersten acht Bytes 0xF8FFFFFF sind die Kennung für den Anfang der Fat-Tabelle. Als nächstes folgen 2 Bytes, die sich auf MyFile.txt beziehen; die Tatsache, dass 0xFFFF darin geschrieben ist, bedeutet, dass die Datei nur einen Cluster belegt. Aber die nächste Datei BigFile.txt beginnt im dritten Cluster, das merken wir uns vom Root-Verzeichnis, setzt sich im vierten fort, geht dann zu 5,6,7... und endet bei 12, also belegt 10 Cluster.

Lassen Sie uns prüfen, ob dies wirklich der Fall ist. Die Datei wiegt 163kB, d.h. belegt 163000/(32*512) = 9,9 Cluster, was den Erwartungen ziemlich ähnlich ist. Wiederholen wir noch einmal, dass ein Element in der FAT-Tabelle 2 Bytes benötigt, d.h. 16 Bit, daher der Name FAT16. Dementsprechend ist die maximale Adresse 0xFFFF, d.h. maximales Volumen für FAT16 0xFFFF*Clustergröße.

Kommen wir zu FAT32. Der Ladeteil wurde leicht geändert.

Es gibt einige grundlegende Änderungen. Der Dateisystemname wurde auf die Adresse 0x52 verschoben, die Root-Größe wird jetzt ignoriert. Der Datenbereich befindet sich direkt hinter den FAT-Tabellen, das Stammverzeichnis befindet sich innerhalb des Datenbereichs. Darüber hinaus hat das Stammverzeichnis keine feste Größe.

Die Datenbereichsadresse wird berechnet:
Bootsektorgröße + FAT-Tabellen, in meinem Fall stellte sich heraus:
746496 + (3821056 * 2) = 0x800000

Die Root-Verzeichnisadresse wird berechnet:
(Nummer des ersten Clusters des Root-Verzeichnisses - 2) * Clustergröße + Adresse des Anfangs des Datenbereichs,
diese. V in diesem Beispiel es fällt mit dem Anfang des Datenbereichs zusammen.

Nach wie vor nehmen die Daten im Root 32 Bytes ein, nach wie vor die „gelöschten“ Magic-Dateien, ich gehe davon aus, dass es sich um temporäre Notepad-Dateien handelt.

Aber der Anfang des ersten Clusters in MYFILE.txt wird nun durch zwei Bytes bestimmt, das höchste bei Offset 0x14, das niedrigste wie zuvor 1A. Daher lautet die Nummer des ersten Datenclusters für die Datei:
8000A0 + 0x14 = 0x8000B4 – High-Byte
8000A0 + 0x1A = 0x8000BA – Low-Byte
In meinem Fall hatte die Karte nur eine Datei, also ist dies der dritte Cluster.

Die FAT-Tabelle wird wie im vorherigen Fall durchsucht, nur dass die Elemente jetzt 4 Bytes belegen, daher der Name FAT32. Die Ideologie der Anordnung der Elemente ist genau die gleiche wie im vorherigen Fall.

Nützliche Dinge für den Tisch
F8 FF FF F0 – erster Cluster
FF FF FF 0F – letzter Cluster
FF FF FF F7 – beschädigter Cluster

Wo sind die Daten?
Beginn des Datenbereichs + Clustergröße * (Wurzelclusternummer - 1)
= 0x800000 + (2*4096) = 0x801000

Ich hoffe, es ist allgemein klar geworden, dass es den Anschein hat, als gäbe es nichts Übernatürliches. Wer liest und wiederholt, kann einen Keks essen :)

Material zur Wiederholungsvorlesung Nr. 33

für Fachstudenten

„Informationstechnologie-Software“

Außerordentlicher Professor der Fakultät für Informatik, Ph.D. Livak E.N.

DATEIVERWALTUNGSSYSTEME

Grundbegriffe, Fakten

Zweck. Merkmale von DateisystemenFETTVFATFETT 32,HPFSNTFS. Dateisysteme UNIX OS (s5, ufs), Linux OS Ext2FS Systembereiche der Festplatte (Partition, Volume). Grundsätze der Dateiplatzierung und Speicherung von Dateispeicherortinformationen. Organisation von Katalogen. Beschränken des Zugriffs auf Dateien und Verzeichnisse.

Fähigkeiten

Nutzung von Kenntnissen über die Dateisystemstruktur für Schutz und Wiederherstellung Computerinformationen(Dateien und Verzeichnisse). Organisation der Zugriffskontrolle auf Dateien.

Dateisysteme. Dateisystemstruktur

Daten auf der Festplatte werden in Form von Dateien gespeichert. Eine Datei ist ein benannter Teil einer Festplatte.

Dateiverwaltungssysteme dienen der Verwaltung von Dateien.

Die Fähigkeit, in Dateien gespeicherte Daten auf logischer Ebene zu verarbeiten, wird durch das Dateisystem bereitgestellt. Es ist das Dateisystem, das die Art und Weise bestimmt, wie Daten auf jedem Speichermedium organisiert werden.

Auf diese Weise, Dateisystem ist eine Reihe von Spezifikationen und der entsprechenden Software, die für das Erstellen, Vernichten, Organisieren, Lesen, Schreiben, Ändern und Verschieben von Dateiinformationen sowie für die Steuerung des Zugriffs auf Dateien und die Verwaltung der von Dateien verwendeten Ressourcen verantwortlich sind.

Das Dateiverwaltungssystem ist das wichtigste Subsystem in den allermeisten modernen Betriebssystemen.

Verwendung eines Dateiverwaltungssystems

· alle Systemverarbeitungsprogramme sind über Daten miteinander verbunden;

· Probleme der zentralisierten Verteilung von Speicherplatz und Datenverwaltung werden gelöst;

· Der Benutzer erhält die Möglichkeit, Vorgänge an Dateien durchzuführen (Erstellung usw.), Daten zwischen Dateien und verschiedenen Geräten auszutauschen und Dateien vor unbefugtem Zugriff zu schützen.

Einige Betriebssysteme verfügen möglicherweise über mehrere Dateiverwaltungssysteme, sodass sie mehrere Dateisysteme verwalten können.

Versuchen wir, zwischen einem Dateisystem und einem Dateiverwaltungssystem zu unterscheiden.

Der Begriff „Dateisystem“ definiert die Grundsätze des Zugriffs auf in Dateien organisierte Daten.

Begriff „Dateiverwaltungssystem“ bezieht sich auf eine bestimmte Implementierung des Dateisystems, d. h. Hierbei handelt es sich um eine Reihe von Softwaremodulen, die die Arbeit mit Dateien in einem bestimmten Betriebssystem ermöglichen.

Um also mit Dateien zu arbeiten, die nach einem bestimmten Dateisystem organisiert sind, muss für jedes Betriebssystem ein geeignetes Dateiverwaltungssystem entwickelt werden. Dieses UV-System funktioniert nur auf dem Betriebssystem, für das es entwickelt wurde.

Für die Windows-Betriebssystemfamilie werden hauptsächlich folgende Dateisysteme verwendet: VFAT, FAT 32, NTFS.

Schauen wir uns die Struktur dieser Dateisysteme an.

Auf dem Dateisystem FETT Speicherplatz von jedem logisches Laufwerk gliedert sich in zwei Bereiche:

Systembereich und

· Datenbereich.

Systembereich Wird während der Formatierung erstellt und initialisiert und anschließend aktualisiert, wenn die Dateistruktur manipuliert wird.

Der Systembereich besteht aus folgenden Komponenten:

· Bootsektor, der den Boot-Record (Boot-Record) enthält;

· reservierte Sektoren (sie existieren möglicherweise nicht);

· Dateizuordnungstabellen (FAT, File Allocation Table);

· Stammverzeichnis (ROOT).

Diese Komponenten befinden sich nacheinander auf der Festplatte.

Datenbereich enthält Dateien und Verzeichnisse, die dem Stammverzeichnis untergeordnet sind.

Der Datenbereich ist in sogenannte Cluster unterteilt. Ein Cluster besteht aus einem oder mehreren benachbarten Sektoren eines Datenbereichs. Andererseits ist ein Cluster die kleinste adressierbare Einheit des Festplattenspeichers, die einer Datei zugewiesen ist. Diese. Eine Datei oder ein Verzeichnis belegt eine ganzzahlige Anzahl von Clustern. Um eine neue Datei zu erstellen und auf die Festplatte zu schreiben, weist das Betriebssystem ihr mehrere freie Festplattencluster zu. Diese Cluster müssen nicht aufeinander folgen. Für jede Datei wird eine Liste aller bereitgestellten Clusternummern gespeichert Diese Datei.

Durch die Aufteilung des Datenbereichs in Cluster anstelle der Verwendung von Sektoren können Sie:

· Reduzieren Sie die Größe der FAT-Tabelle.

· Dateifragmentierung reduzieren;

· Die Länge der Dateiketten wird reduziert Þ schnellerer Zugriff auf die Datei.

Allerdings führt eine zu große Clustergröße insbesondere bei vielen kleinen Dateien zu einer ineffizienten Nutzung des Datenbereichs (schließlich geht im Durchschnitt für jede Datei ein halber Cluster verloren).

In modernen Dateisystemen (FAT 32, HPFS, NTFS) wird dieses Problem durch die Begrenzung der Clustergröße (maximal 4 KB) gelöst.

Die Datenbereichskarte ist T Dateizuordnungstabelle (File Allocation Table – FAT) Jedes Element der FAT-Tabelle (12, 16 oder 32 Bit) entspricht einem Festplatten-Cluster und charakterisiert seinen Zustand: frei, beschäftigt oder fehlerhafter Cluster.

· Wenn ein Cluster einer Datei zugeordnet ist (d. h. belegt ist), enthält das entsprechende FAT-Element die Nummer des nächsten Clusters der Datei;

· der letzte Cluster der Datei wird mit einer Zahl im Bereich FF8h - FFFh (FFF8h - FFFFh) markiert;

· wenn der Cluster frei ist, enthält er den Nullwert 000h (0000h);

· Ein Cluster, der nicht verwendbar (fehlgeschlagen) ist, wird mit der Nummer FF7h (FFF7h) gekennzeichnet.

Somit werden in der FAT-Tabelle Cluster, die zur gleichen Datei gehören, zu Ketten verknüpft.

Die Dateizuordnungstabelle wird unmittelbar nach der Beschreibung des Boot-Datensatzes der logischen Festplatte in einem speziellen Feld im Boot-Sektor gespeichert.

Es wird in zwei identischen Kopien gespeichert, die aufeinander folgen. Wenn die erste Kopie der Tabelle zerstört wird, wird die zweite verwendet.

Da FAT beim Plattenzugriff sehr intensiv genutzt wird, wird es üblicherweise in den RAM (in I/O-Puffer oder Cache) geladen und verbleibt dort möglichst lange.

Der Hauptnachteil von FAT ist die langsame Verarbeitung von Dateien. Beim Erstellen einer Datei gilt die Regel, dass der erste freie Cluster zugewiesen wird. Dies führt zu Festplattenfragmentierung und komplexen Dateiketten. Dies führt zu einer langsameren Arbeit mit Dateien.

Zum Anzeigen und Bearbeiten der FAT-Tabelle können Sie verwenden DienstprogrammScheibeEditor.

Detaillierte Informationen über die Datei selbst werden in einer anderen Struktur namens Stammverzeichnis gespeichert. Jedes logische Laufwerk verfügt über ein eigenes Stammverzeichnis (ROOT).

Wurzelverzeichnis beschreibt Dateien und andere Verzeichnisse. Ein Verzeichniselement ist ein Dateideskriptor.

Jeder Datei- und Verzeichnisdeskriptor enthält es

· Name

· Verlängerung

Datum der Erstellung oder letzten Änderung

· Zeitpunkt der Erstellung oder letzten Änderung

Attribute (Archiv, Verzeichnisattribut, Volume-Attribut, System, versteckt, schreibgeschützt)

· Dateilänge (für ein Verzeichnis - 0)

· Reserviertes Feld, das nicht verwendet wird

· Nummer des ersten Clusters in der Clusterkette, die einer Datei oder einem Verzeichnis zugeordnet ist; Nach Erhalt dieser Nummer ermittelt das Betriebssystem anhand der FAT-Tabelle alle anderen Clusternummern der Datei.

Der Benutzer startet also die Datei zur Ausführung. Das Betriebssystem sucht nach einer Datei mit dem gewünschten Namen, indem es sich die Beschreibungen der Dateien im aktuellen Verzeichnis ansieht. Wenn das erforderliche Element im aktuellen Verzeichnis gefunden wird, liest das Betriebssystem die erste Clusternummer dieser Datei und verwendet dann die FAT-Tabelle, um die verbleibenden Clusternummern zu ermitteln. Daten aus diesen Clustern werden eingelesen RAM, die zu einem zusammenhängenden Abschnitt zusammengefasst werden. Das Betriebssystem übergibt die Kontrolle an die Datei und das Programm beginnt zu starten.

Zum Anzeigen und Bearbeiten des Stammverzeichnisses ROOT können Sie auch verwenden DienstprogrammScheibeEditor.

Dateisystem VFAT

Das VFAT-Dateisystem (Virtual FAT) erschien erstmals in Windows für Workgroups 3.11 und wurde für Datei-E/A im geschützten Modus entwickelt.

Dieses Dateisystem wird in Windows 95 verwendet.

Es wird auch in Windows NT 4 unterstützt.

VFAT ist das native 32-Bit-Dateisystem von Windows 95. Es wird vom VFAT .VXD-Treiber gesteuert.

VFAT verwendet 32-Bit-Code für alle Dateivorgänge und kann 32-Bit-Treiber für den geschützten Modus verwenden.

ABER die Einträge in der Dateizuordnungstabelle bleiben 12- oder 16-Bit, sodass die Festplatte dieselbe Datenstruktur (FAT) verwendet. Diese. F TabellenformatVFAT ist das Gleiche, wie das FAT-Format.

VFAT zusammen mit „8.3“-Namen unterstützt lange Dateinamen. (VFAT wird oft als FAT mit Unterstützung für lange Namen bezeichnet).

Der Hauptnachteil von VFAT sind die großen Clustering-Verluste bei großen logischen Festplattengrößen und Einschränkungen hinsichtlich der Größe der logischen Festplatte selbst.

Dateisystem FETT 32

Das neue Umsetzung Ideen für die Verwendung der FAT-Tabelle.

FAT 32 ist ein völlig eigenständiges 32-Bit-Dateisystem.

Wird erstmals in Windows OSR 2 (OEM Service Release 2) verwendet.

Derzeit wird FAT 32 in Windows 98 und Windows ME verwendet.

Es enthält zahlreiche Verbesserungen und Ergänzungen gegenüber früheren FAT-Implementierungen.

1. Nutzt den Speicherplatz viel effizienter, da kleinere Cluster (4 KB) verwendet werden – schätzungsweise Einsparungen von bis zu 15 %.

2. Verfügt über einen erweiterten Boot-Record, mit dem Sie Kopien kritischer Datenstrukturen erstellen können Þ erhöht die Widerstandsfähigkeit der Bandscheibe gegen Schäden an Bandscheibenstrukturen

3. Kann verwendet werden Sicherheitskopie FAT statt Standard.

4. Das Stammverzeichnis kann verschoben werden, d. h. das Stammverzeichnis kann sich an einem beliebigen Ort befinden Þ Entfernt die Beschränkung der Größe des Stammverzeichnisses (512 Elemente, da ROOT einen Cluster belegen sollte).

5. Verbesserte Stammverzeichnisstruktur

Es sind zusätzliche Felder erschienen, zum Beispiel Erstellungszeit, Erstellungsdatum, Datum des letzten Zugriffs, Prüfsumme

Es gibt immer noch mehrere Handles für einen langen Dateinamen.

Dateisystem HPFS

HPFS (High Performance File System) ist ein Hochleistungsdateisystem.

HPFS erschien erstmals in OS/2 1.2 und LAN Manager.

Lassen Sie uns auflisten Hauptmerkmale von HPFS.

· Der Hauptunterschied ist Grundprinzipien Platzierung von Dateien auf der Festplatte und Grundsätze zum Speichern von Informationen über den Speicherort von Dateien. Dank dieser Prinzipien hat HPFS hohe Leistung und Fehlertoleranz, ist zuverlässig Dateisystem.

· Der Speicherplatz in HPFS wird nicht in Clustern (wie in FAT), sondern zugewiesen Blöcke. In der modernen Implementierung wird die Blockgröße mit einem Sektor gleichgesetzt, sie könnte jedoch im Prinzip auch eine andere Größe haben. (Tatsächlich ist ein Block ein Cluster, nur ein Cluster entspricht immer einem Sektor.) Das Platzieren von Dateien in solch kleinen Blöcken ermöglicht Speicherplatz effizienter nutzen, da der Overhead an freiem Speicherplatz im Durchschnitt nur (ein halber Sektor) 256 Byte pro Datei beträgt. Denken Sie daran: Je größer die Clustergröße, desto mehr Speicherplatz wird verschwendet.

· Das HPFS-System ist bestrebt, die Datei in zusammenhängenden Blöcken anzuordnen oder, falls dies nicht möglich ist, so auf der Festplatte zu platzieren, dass Ausmaße(Fragmente) der Datei physisch so nah wie möglich beieinander lagen. Dieser Ansatz ist unerlässlich Reduziert die Positionierungszeit des Schreib-/Lesekopfes Festplatte und Wartezeit (Verzögerung zwischen der Installation des Lese-/Schreibkopfes auf der gewünschten Spur). Erinnern wir uns daran, dass in einer FAT-Datei einfach der erste freie Cluster zugewiesen wird.

Ausmaße(Ausdehnung) – Dateifragmente, die sich in benachbarten Sektoren der Festplatte befinden. Eine Datei verfügt über mindestens einen Bereich, wenn sie nicht fragmentiert ist, andernfalls über mehrere Bereiche.

·Gebraucht Methode Ausgewogene Binärbäume zum Speichern und Suchen von Informationen über den Speicherort von Dateien (Verzeichnisse werden in der Mitte der Festplatte gespeichert, außerdem ist eine automatische Sortierung der Verzeichnisse vorgesehen), was unerlässlich ist steigert die Produktivität HPFS (im Vergleich zu FAT).

· HPFS bietet spezielle erweiterte Funktionen Dateiattribute erlauben Kontrollieren Sie den Zugriff auf Dateien und Verzeichnisse.

Erweiterte Attribute (erweiterte Attribute, EAs ) ermöglichen Ihnen das Speichern Weitere Informationenüber die Datei. Beispielsweise kann jeder Datei eine eindeutige Grafik (Symbol), eine Dateibeschreibung, ein Kommentar, Informationen zum Dateieigentümer usw. zugeordnet werden.

C HPFS-Partitionsstruktur


Am Anfang der Partition mit installiertem HPFS befinden sich drei Blockkontrollen:

Bootblock

· zusätzlicher Block (Superblock) und

· Ersatzblock (Backup-Block) (Ersatzblock).

Sie besetzen 18 Sektoren.

Der gesamte verbleibende Speicherplatz in HPFS wird in Teile benachbarter Sektoren aufgeteilt - Streifen(Band - Streifen, Band). Jeder Streifen belegt 8 MB Speicherplatz.

Jeder Streifen hat seinen eigenen Sektorzuordnungs-Bitmap.Die Bitmap zeigt, welche Sektoren eines bestimmten Bandes belegt und welche frei sind. Jeder Sektor eines Datenstreifens entspricht einem Bit in seiner Bitmap. Wenn Bit = 1, ist der Sektor beschäftigt, wenn 0, ist er frei.

Die Bitmaps der beiden Spuren liegen ebenso wie die Spuren selbst nebeneinander auf der Festplatte. Das heißt, die Reihenfolge der Streifen und Karten sieht wie in Abb. aus.

Vergleichen mitFETT. Es gibt nur eine „Bitmap“ für die gesamte Festplatte (FAT-Tabelle). Und um damit arbeiten zu können, muss man die Lese-/Schreibköpfe durchschnittlich über die halbe Platte bewegen.

Um die Zeit für die Positionierung der Lese-/Schreibköpfe einer Festplatte zu verkürzen, wird die Festplatte bei HPFS in Streifen unterteilt.

Lassen Sie uns überlegen Steuerblöcke.

Bootblock (StiefelBlock)

Enthält den Volume-Namen, seine Seriennummer, den BIOS-Parameterblock und das Boot-Programm.

Das Bootstrap-Programm findet die Datei OS 2 LDR , liest es in den Speicher und übergibt die Kontrolle an dieses Betriebssystem-Bootprogramm, das wiederum den OS/2-Kernel von der Festplatte in den Speicher lädt - OS 2 KRNL. Und schon OS 2 KRIML Informationen aus der Datei verwenden KONFIG. SYS lädt alles andere Notwendige in den Speicher Softwaremodule und Datenblöcke.

Der Bootblock befindet sich in den Sektoren 0 bis 15.

SuperBlock(Superblock)

Enthält

· Zeiger auf eine Liste von Bitmaps (Bitmap-Blockliste). Diese Liste listet alle Blöcke auf der Festplatte auf, die die Bitmaps enthalten, die zur Erkennung freier Sektoren verwendet werden.

· Zeiger auf die Liste der fehlerhaften Blöcke (Bad Block List). Wenn das System einen beschädigten Block erkennt, wird er dieser Liste hinzugefügt und nicht mehr zum Speichern von Informationen verwendet;

· Zeiger auf Verzeichnisband

· Zeiger auf den Dateiknoten (F-Knoten) des Stammverzeichnisses,

· Datum des letzten Scans der Partition durch CHKDSK;

· Informationen zur Stripe-Größe (in der aktuellen HPFS-Implementierung - 8 MB).

Der Superblock befindet sich im Sektor 16.

ErsatzteilBlock(Ersatzblock)

Enthält

· Zeiger auf die Notfall-Ersatzkarte (Hotfix-Karte oder Hotfix-Bereiche);

· Zeiger auf die Liste der freien Ersatzblöcke (Verzeichnis-Notfallliste der freien Blöcke);

· eine Reihe von Systemflags und Deskriptoren.

Dieser Block befindet sich im Sektor 17 der Festplatte.

Der Sicherungsblock bietet eine hohe Fehlertoleranz für das HPFS-Dateisystem und ermöglicht die Wiederherstellung beschädigter Daten auf der Festplatte.

Prinzip der Dateiplatzierung

Ausmaße(Ausdehnung) – Dateifragmente, die sich in benachbarten Sektoren der Festplatte befinden. Eine Datei verfügt über mindestens einen Bereich, wenn sie nicht fragmentiert ist, andernfalls über mehrere Bereiche.

Um die Zeit zu verkürzen, die zum Positionieren der Lese-/Schreibköpfe einer Festplatte benötigt wird, strebt das HPFS-System danach

1) Platzieren Sie die Datei in benachbarten Blöcken;

2) Wenn dies nicht möglich ist, platzieren Sie die Bereiche der fragmentierten Datei so nah wie möglich beieinander.

Dazu nutzt HPFS Statistiken und versucht außerdem, am Ende von wachsenden Dateien bedingt mindestens 4 Kilobyte Speicherplatz zu reservieren.

Grundsätze zum Speichern von Dateispeicherortinformationen

Jede Datei und jedes Verzeichnis auf der Festplatte hat ihre eigene Dateiknoten F-Knoten. Dabei handelt es sich um eine Struktur, die Informationen über den Speicherort einer Datei und ihre erweiterten Attribute enthält.

Jeder F-Knoten belegt ein Sektor und befindet sich immer in der Nähe seiner Datei oder seines Verzeichnisses (normalerweise unmittelbar vor der Datei oder dem Verzeichnis). Das F-Node-Objekt enthält

· Länge,

· erste 15 Zeichen des Dateinamens,

· spezielle Serviceinformationen,

· Statistiken zum Dateizugriff,

· erweiterte Dateiattribute,

· eine Liste der Zugriffsrechte (oder nur einen Teil dieser Liste, wenn diese sehr umfangreich ist); Wenn die erweiterten Attribute zu groß für den Dateiknoten sind, wird ein Zeiger darauf geschrieben.

· assoziative Informationen über den Standort und die Unterordnung der Datei usw.

Wenn die Datei zusammenhängend ist, wird ihr Speicherort auf der Festplatte durch zwei 32-Bit-Zahlen beschrieben. Die erste Zahl ist ein Zeiger auf den ersten Block der Datei und die zweite ist die Extent-Länge (die Anzahl aufeinanderfolgender Blöcke, die zur Datei gehören).

Wenn eine Datei fragmentiert ist, wird die Position ihrer Extents im Dateiknoten durch zusätzliche 32-Bit-Zahlenpaare beschrieben.

Ein Dateiknoten kann Informationen über bis zu acht Bereiche einer Datei enthalten. Wenn eine Datei mehrere Extents hat, wird ein Zeiger auf einen Zuordnungsblock in ihren Dateiknoten geschrieben, der bis zu 40 Zeiger auf Extents oder, ähnlich einem Verzeichnisbaumblock, auf andere Zuordnungsblöcke enthalten kann.

Verzeichnisstruktur und Platzierung

Wird zum Speichern von Verzeichnissen verwendet Streifen in der Mitte der Scheibe.

Dieser Streifen heißt VerzeichnisBand.

Wenn es vollständig voll ist, beginnt HPFS, Dateiverzeichnisse in anderen Stripes zu platzieren.

Durch die Platzierung dieser Informationsstruktur in der Mitte der Festplatte wird die durchschnittliche Positionierungszeit des Lese-/Schreibkopfs erheblich verkürzt.

Durch die Verwendung wird jedoch ein wesentlich größerer Beitrag zur HPFS-Leistung geleistet (im Vergleich zur Platzierung des Verzeichnisbands in der Mitte einer logischen Festplatte). Methode Ausgewogene Binärbäume zum Speichern und Abrufen von Dateispeicherortinformationen.

Denken Sie daran im Dateisystem FETT Das Verzeichnis hat eine lineare Struktur und ist nicht speziell geordnet. Wenn Sie also nach einer Datei suchen, müssen Sie diese von Anfang an der Reihe nach durchsuchen.

In HPFS ist die Verzeichnisstruktur ein ausgewogener Baum mit Einträgen in alphabetischer Reihenfolge.

Jeder im Baum enthaltene Eintrag enthält

· Dateiattribute,

· Zeiger auf den entsprechenden Dateiknoten,

Informationen über die Uhrzeit und das Datum, an dem die Datei erstellt wurde, Uhrzeit und Datum letztes Update und Berufungen,

Länge der Daten, die erweiterte Attribute enthalten,

· Dateizugriffszähler,

Länge des Dateinamens

· der Name selbst,

· und andere Informationen.

Das HPFS-Dateisystem berücksichtigt bei der Suche nach einer Datei in einem Verzeichnis nur die erforderlichen Zweige des Binärbaums. Diese Methode ist um ein Vielfaches effizienter als das sequentielle Auslesen aller Einträge in einem Verzeichnis, wie es beim FAT-System der Fall ist.

Die Größe jedes Blocks im Hinblick auf die Zuweisung von Verzeichnissen in der aktuellen HPFS-Implementierung beträgt 2 KB. Die Größe des die Datei beschreibenden Eintrags hängt von der Größe des Dateinamens ab. Wenn ein Name 13 Byte lang ist (für das 8.3-Format), kann ein 2-KB-Block bis zu 40 Dateideskriptoren enthalten. Blöcke sind über eine Liste miteinander verbunden.

Probleme

Beim Umbenennen von Dateien kann es zu einem sogenannten Tree Rebalancing kommen. Das Erstellen, Umbenennen oder Löschen einer Datei kann zu Problemen führen kaskadierende Verzeichnisblöcke. Tatsächlich kann eine Umbenennung aufgrund von Platzmangel auf der Festplatte fehlschlagen, selbst wenn die Datei selbst nicht größer geworden ist. Um diese Katastrophe zu vermeiden, unterhält HPFS einen kleinen Pool an freien Blöcken, die im Katastrophenfall verwendet werden können. Dieser Vorgang erfordert möglicherweise die Zuweisung zusätzlicher Blöcke auf einer vollständigen Festplatte. Ein Zeiger auf diesen Pool freier Blöcke wird in SpareBlock gespeichert.

Grundsätze zum Platzieren von Dateien und Verzeichnissen auf der Festplatte inHPFS:

· Informationen über den Speicherort von Dateien sind auf der gesamten Festplatte verteilt, wobei sich Datensätze für jede einzelne Datei (wenn möglich) in benachbarten Sektoren und in der Nähe der Daten über ihren Speicherort befinden.

· Verzeichnisse liegen in der Mitte des Speicherplatzes;

· Verzeichnisse werden als binärer, ausgeglichener Baum gespeichert, wobei die Einträge in alphabetischer Reihenfolge angeordnet sind.

Zuverlässigkeit der Datenspeicherung in HPFS

Jedes Dateisystem muss über eine Möglichkeit verfügen, Fehler zu korrigieren, die beim Schreiben von Informationen auf die Festplatte auftreten. Hierzu dient das HPFS-System Notfall-Austauschmechanismus ( Hotfix).

Wenn das HPFS-Dateisystem beim Schreiben von Daten auf die Festplatte auf ein Problem stößt, wird eine Fehlermeldung angezeigt. Anschließend speichert HPFS die Informationen, die in den defekten Sektor hätten geschrieben werden sollen, in einem der vorab für diesen Fall reservierten Ersatzsektoren. Die Liste der freien Ersatzblöcke wird im HPFS-Ersatzblock gespeichert. Wenn beim Schreiben von Daten in einen normalen Block ein Fehler erkannt wird, wählt HPFS einen der freien Ersatzblöcke aus und speichert die Daten dort. Das Dateisystem wird dann aktualisiert Notfall-Ersatzkarte in der Reserveeinheit.

Diese Karte besteht einfach aus Paaren von Doppelwörtern, von denen jedes eine 32-Bit-Sektornummer ist.

Die erste Zahl gibt den defekten Sektor an und die zweite gibt den Sektor unter den verfügbaren Ersatzsektoren an, der als Ersatz ausgewählt wurde.

Nach dem Ersetzen des defekten Sektors durch einen Ersatzsektor wird die Notfall-Ersatzkarte auf die Festplatte geschrieben und auf dem Bildschirm erscheint ein Popup-Fenster, das den Benutzer darüber informiert, dass ein Fehler beim Schreiben auf die Festplatte aufgetreten ist. Jedes Mal, wenn das System einen Festplattensektor schreibt oder liest, prüft es die Wiederherstellungskarte und ersetzt alle fehlerhaften Sektornummern durch Ersatzsektornummern mit den entsprechenden Daten.

Es ist zu beachten, dass diese Zahlenumsetzung keinen wesentlichen Einfluss auf die Systemleistung hat, da sie nur beim physischen Zugriff auf die Festplatte und nicht beim Lesen von Daten aus dem Festplatten-Cache durchgeführt wird.

Dateisystem NTFS

Das NTFS-Dateisystem (New Technology File System) enthält eine Reihe bedeutender Verbesserungen und Änderungen, die es deutlich von anderen Dateisystemen unterscheiden.

Beachten Sie, dass mit seltenen Ausnahmen, mit Auf NTFS-Partitionen kann nur direkt gearbeitet werdenWindowsN.T. Allerdings gibt es für eine Reihe von Betriebssystemen entsprechende Implementierungen von Dateiverwaltungssystemen zum Lesen von Dateien von NTFS-Volumes.

Es gibt jedoch keine vollwertigen Implementierungen für die Arbeit mit NTFS außerhalb von Windows NT.

NTFS wird auf den weit verbreiteten Betriebssystemen Windows 98 und Windows Millennium Edition nicht unterstützt.

HauptmerkmaleNT FS

· Die Arbeit auf großen Festplatten erfolgt effizient (viel effizienter als in FAT);

· Es gibt Tools, um den Zugriff auf Dateien und Verzeichnisse einzuschränken Þ NTFS-Partitionen bieten lokale Sicherheit sowohl für Dateien als auch für Verzeichnisse;

· Es wurde ein Transaktionsmechanismus eingeführt, bei dem Protokollierung Dateioperationen Þ deutliche Steigerung der Zuverlässigkeit;

· Viele Einschränkungen hinsichtlich der maximalen Anzahl von Festplattensektoren und/oder Clustern wurden entfernt.

· Ein Dateiname in NTFS kann im Gegensatz zu den Dateisystemen FAT und HPFS beliebige Zeichen enthalten, einschließlich des vollständigen Satzes nationaler Alphabete, da die Daten in Unicode dargestellt werden – einer 16-Bit-Darstellung, die 65535 verschiedene Zeichen ergibt. Die maximale Länge eines Dateinamens in NTFS beträgt 255 Zeichen.

· NTFS verfügt außerdem über integrierte Komprimierungsfunktionen, die Sie auf einzelne Dateien, ganze Verzeichnisse und sogar Volumes anwenden (und diese anschließend je nach Wunsch rückgängig machen oder zuweisen können).

Volume-Struktur mit dem NTFS-Dateisystem

Eine NTFS-Partition wird als Volume (Volume) bezeichnet. Die maximal mögliche Volume-Größe (und Dateigröße) beträgt 16 EB (Exabyte 2**64).

Wie andere Systeme unterteilt NTFS den Speicherplatz eines Volumes in Cluster – Datenblöcke, die als Dateneinheiten adressiert werden. NTFS unterstützt Clustergrößen von 512 Byte bis 64 KB; Der Standard ist ein Cluster mit einer Größe von 2 oder 4 KB.

Der gesamte Speicherplatz in NTFS ist in zwei ungleiche Teile aufgeteilt.


Die ersten 12 % der Festplatte werden der sogenannten MFT-Zone zugewiesen – Speicherplatz, der vom Hauptdienst belegt werden kann Metadatei MFT.

In diesen Bereich können keine Daten geschrieben werden. Die MFT-Zone bleibt immer leer – dies geschieht, damit die MFT-Datei möglichst nicht fragmentiert, wenn sie wächst.

Die restlichen 88 % des Volumens sind regulärer Dateispeicherplatz.

MFT(MeisterDateiTisch -(allgemeine Dateitabelle) ist im Wesentlichen ein Verzeichnis aller anderen Dateien auf der Festplatte, einschließlich sich selbst. Es dient dazu, den Speicherort von Dateien zu bestimmen.

MFT besteht aus Datensätzen fester Größe. Die Größe des MFT-Datensatzes (mindestens 1 KB und höchstens 4 KB) wird bei der Formatierung des Volumes festgelegt.

Jeder Eintrag entspricht einer Datei.

Die ersten 16 Einträge haben Servicecharakter und stehen dem Betriebssystem nicht zur Verfügung – sie werden aufgerufen Metadateien, und die allererste Metadatei ist die MFT selbst.

Diese ersten 16 MFT-Elemente sind der einzige Teil der Scheibe, der eine streng festgelegte Position hat. Aus Gründen der Zuverlässigkeit wird in der Mitte des Bandes eine Kopie dieser 16 Einträge aufbewahrt.

Die übrigen Teile der MFT-Datei können wie jede andere Datei an beliebigen Orten auf der Festplatte liegen.

Metadateien haben Servicecharakter – jede von ihnen ist für einen bestimmten Aspekt des Systembetriebs verantwortlich. Metadateien befinden sich im Stammverzeichnis des NTFS-Volumes. Sie beginnen alle mit dem Namenssymbol „$“, obwohl es mit herkömmlichen Mitteln schwierig ist, Informationen über sie zu erhalten. In der Tabelle Die wichtigsten Metadateien und ihr Zweck werden angegeben.

Name der Metadatei

Zweck der Metadatei

$MFT

Master File Table selbst

$MFTmirr

Eine Kopie der ersten 16 MFT-Einträge in der Mitte des Bandes

$LogFile

Protokollierungsunterstützungsdatei

$Volumen

Serviceinformationen – Datenträgerbezeichnung, Dateisystemversion usw.

$AttrDef

Liste der Standarddateiattribute auf dem Volume

Wurzelverzeichnis

$Bitmap

Karte des freien Speicherplatzes des Volumens

$Boot

Bootsektor (wenn die Partition bootfähig ist)

$Kontingent

Eine Datei, die Benutzerrechte zur Nutzung von Speicherplatz aufzeichnet (diese Datei funktionierte erst in Windows 2000 mit NTFS 5.0)

$Upcase

Datei – eine Entsprechungstabelle zwischen Groß- und Kleinbuchstaben in Dateinamen. In NTFS werden Dateinamen eingeschrieben Unicode (was 65.000 verschiedene Symbole entspricht) und die Suche nach großen und kleinen Äquivalenten ist in diesem Fall eine nicht triviale Aufgabe

Der entsprechende MFT-Record speichert alle Informationen zur Datei:

· Dateiname,

· Größe;

· Dateiattribute;

· Position einzelner Fragmente usw. auf der Festplatte.

Wenn ein MFT-Datensatz für die Information nicht ausreicht, werden mehrere Datensätze verwendet und nicht unbedingt aufeinander folgende.

Wenn die Datei nicht sehr groß ist, werden die Dateidaten direkt im MFT gespeichert, und zwar auf dem von den Hauptdaten verbleibenden Platz innerhalb eines MFT-Datensatzes.

Eine Datei auf einem NTFS-Volume wird durch das sogenannte identifiziert Dateilink(Dateireferenz), die als 64-Bit-Zahl dargestellt wird.

· Dateinummer, die der Datensatznummer in MFT entspricht,

· und Sequenznummern. Diese Zahl wird jedes Mal erhöht, wenn eine bestimmte Zahl in der MFT wiederverwendet wird, sodass das NTFS-Dateisystem interne Integritätsprüfungen durchführen kann.

Jede Datei in NTFS wird durch dargestellt Ströme(Streams), das heißt, es gibt nicht „nur Daten“ als solche, sondern es gibt Streams.

Einer der Streams sind die Dateidaten.

Die meisten Dateiattribute sind auch Streams.

Somit stellt sich heraus, dass die Datei nur eine grundlegende Entität hat – die Nummer im MFT, und alles andere, einschließlich ihrer Streams, ist optional.

Dieser Ansatz kann effektiv genutzt werden – Sie können beispielsweise einen anderen Stream an eine Datei „anhängen“, indem Sie beliebige Daten in diese schreiben.

Standardattribute für Dateien und Verzeichnisse auf einem NTFS-Volume haben feste Namen und Typcodes.

Katalog Bei NTFS handelt es sich um eine spezielle Datei, die Links zu anderen Dateien und Verzeichnissen speichert.

Die Katalogdatei ist in Blöcke unterteilt, die jeweils Folgendes enthalten:

· Dateiname,

Grundattribute und

Das Stammverzeichnis der Festplatte unterscheidet sich nicht von regulären Verzeichnissen, mit Ausnahme eines speziellen Links dazu vom Anfang der MFT-Metadatei.

Die interne Verzeichnisstruktur ist ein Binärbaum, ähnlich wie bei HPFS.

Die Anzahl der Dateien im Root- und Nicht-Root-Verzeichnis ist nicht begrenzt.

Das NTFS-Dateisystem unterstützt das NT-Sicherheitsobjektmodell: NTFS behandelt Verzeichnisse und Dateien als unterschiedliche Objekttypen und verwaltet separate (wenn auch überlappende) Berechtigungslisten für jeden Typ.

NTFS bietet Sicherheit auf Dateiebene. Dies bedeutet, dass Zugriffsrechte auf Volumes, Verzeichnisse und Dateien davon abhängen können Konto Benutzer und die Gruppen, denen er angehört. Jedes Mal, wenn ein Benutzer auf ein Dateisystemobjekt zugreift, werden seine Zugriffsrechte anhand der Berechtigungsliste dieses Objekts überprüft. Verfügt der Nutzer über ausreichende Rechte, wird seinem Antrag stattgegeben; andernfalls wird die Anfrage abgelehnt. Dieses Sicherheitsmodell gilt sowohl für die lokale Benutzerregistrierung auf NT-Computern als auch für Remote-Netzwerkanfragen.

Das NTFS-System verfügt außerdem über bestimmte Selbstheilungsfunktionen. NTFS unterstützt verschiedene Mechanismen zur Überprüfung der Systemintegrität, einschließlich der Transaktionsprotokollierung, die die Wiedergabe von Dateischreibvorgängen anhand eines speziellen Systemprotokolls ermöglicht.

Bei Protokollierung Bei Dateioperationen zeichnet das Dateiverwaltungssystem die auftretenden Änderungen in einer speziellen Servicedatei auf. Zu Beginn eines Vorgangs im Zusammenhang mit der Änderung der Dateistruktur wird ein entsprechender Hinweis erstellt. Wenn bei Dateivorgängen ein Fehler auftritt, wird die Startmarkierung des Vorgangs weiterhin als unvollständig angezeigt. Wenn Sie nach dem Neustart der Maschine eine Integritätsprüfung des Dateisystems durchführen, werden diese ausstehenden Vorgänge abgebrochen und die Dateien werden in ihrem ursprünglichen Zustand wiederhergestellt. Wenn der Vorgang zum Ändern von Daten in Dateien normal abgeschlossen wird, wird der Vorgang in dieser Datei zur Unterstützung der Dienstprotokollierung als abgeschlossen markiert.

Der Hauptnachteil des DateisystemsNTFS- Dienstdaten beanspruchen viel Platz (z. B. nimmt jedes Verzeichniselement 2 KB ein) - Bei kleinen Partitionen können Dienstdaten bis zu 25 % des Medienvolumens belegen.

Þ NTFS kann nicht zum Formatieren von Disketten verwendet werden. Sie sollten es nicht zum Formatieren von Partitionen verwenden, die kleiner als 100 MB sind.

Betriebssystemdateisystem UNIX

In der UNIX-Welt gibt es verschiedene Arten von Dateisystemen mit eigener externer Speicherstruktur. Am bekanntesten sind das traditionelle Dateisystem UNIX System V (s5) und das UNIX-Familie BSD(ufs).

Betrachten Sie s 5.

Eine Datei auf einem UNIX-System ist eine Sammlung von Zeichen mit wahlfreiem Zugriff.

Die Datei hat eine Struktur, die ihr vom Benutzer vorgegeben wird.

Datei Unix-System ist ein hierarchisches Mehrbenutzer-Dateisystem.

Das Dateisystem hat eine Baumstruktur. Die Eckpunkte (Zwischenknoten) des Baums sind Verzeichnisse mit Links zu anderen Verzeichnissen oder Dateien. Die Blätter des Baums entsprechen Dateien oder leeren Verzeichnissen.

Kommentar. Tatsächlich ist das Unix-Dateisystem nicht baumbasiert. Tatsache ist, dass das System die Möglichkeit hat, die Hierarchie in Form eines Baums zu verletzen, da eine Assoziation möglich ist mehrere Namen mit demselben Dateiinhalt.

Festplattenstruktur

Die Festplatte ist in Blöcke unterteilt. Die Datenblockgröße wird beim Formatieren des Dateisystems mit dem Befehl mkfs festgelegt und kann auf 512, 1024, 2048, 4096 oder 8192 Bytes eingestellt werden.

Wir zählen 512 Bytes (Sektorgröße).

Der Speicherplatz ist in folgende Bereiche unterteilt (siehe Abbildung):

· Ladeblock;

· Kontroll-Superblock;

· Array von I-Nodes;

· Bereich zum Speichern des Inhalts (Daten) von Dateien;

· eine Reihe freier Blöcke (in einer Liste verknüpft);

Bootblock

Superblock

ich - Knoten

. . .

ich - Knoten

Kommentar. Für das UFS-Dateisystem wird dies alles für eine Zylindergruppe wiederholt (mit Ausnahme des Boot-Blocks) + es wird ein spezieller Bereich zur Beschreibung der Zylindergruppe zugewiesen

Bootblock

Der Block befindet sich in Block #0. (Denken Sie daran, dass die Platzierung dieses Blocks im Systemgeräteblock Null durch die Hardware bestimmt wird, da der Hardware-Bootloader immer auf den Systemgeräteblock Null zugreift. Dies ist die letzte Komponente des Dateisystems, die hardwareabhängig ist.)

Der Boot-Block enthält ein Promotion-Programm, das zum ersten Starten des UNIX-Betriebssystems verwendet wird. In S 5-Dateisystemen wird tatsächlich nur der Bootblock des Root-Dateisystems verwendet. In weiteren Dateisystemen ist dieser Bereich vorhanden, wird aber nicht genutzt.

Superblock

Es enthält Betriebsinformationen über den Zustand des Dateisystems sowie Daten über die Konfigurationsparameter des Dateisystems.

Insbesondere enthält der Superblock die folgenden Informationen

· Anzahl der I-Nodes (Indexdeskriptoren);

· Partitionsgröße???;

· Liste der freien Blöcke;

· Liste der freien I-Nodes;

· usw.

Seien wir aufmerksam! Der freie Speicherplatz auf der Festplatte beträgt verlinkte Liste freier Blöcke. Diese Liste wird in einem Superblock gespeichert.

Listenelemente sind Arrays mit 50 Elementen (wenn Block = 512 Bytes, dann Element = 16 Bits):

· Die Array-Elemente Nr. 1-48 enthalten die Anzahl der freien Blöcke des Dateiblockplatzes von 2 bis 49.

· Element #0 enthält einen Zeiger auf die Fortsetzung der Liste und

· Das letzte Element (Nr. 49) enthält einen Zeiger auf ein freies Element im Array.

Wenn ein Prozess einen freien Block benötigt, um eine Datei zu erweitern, wählt das System mithilfe eines Zeigers (auf ein freies Element) ein Array-Element aus und der in diesem Element gespeicherte Block mit der Nr. wird der Datei bereitgestellt. Wenn eine Datei verkleinert wird, werden die freigegebenen Zahlen zum Array der freien Blöcke hinzugefügt und der Zeiger auf das freie Element wird angepasst.

Da die Arraygröße 50 Elemente beträgt, sind zwei kritische Situationen möglich:

1. Wenn wir Dateiblöcke freigeben, diese aber nicht in dieses Array passen. In diesem Fall wird ein freier Block aus dem Dateisystem ausgewählt und das vollständig gefüllte Array freier Blöcke in diesen Block kopiert, woraufhin der Wert des Zeigers auf das freie Element zurückgesetzt wird, und Das Nullelement des Arrays, das sich im Superblock befindet, enthält die Nummer des Blocks, den das System zum Kopieren des Array-Inhalts ausgewählt hat. In diesem Moment wird ein neues Element der Liste der freien Blöcke erstellt (jeweils 50 Elemente).

2. Wenn der Inhalt der Elemente des Arrays freier Blöcke erschöpft ist (in diesem Fall ist das Nullelement des Arrays Null). Wenn dieses Element nicht gleich Null ist, bedeutet dies, dass es eine Fortsetzung gibt das Array. Diese Fortsetzung wird in eine Kopie des Superblocks im RAM eingelesen.

Kostenlose Listei-Knoten. Dies ist ein Puffer, der aus 100 Elementen besteht. Es enthält Informationen über 100 derzeit freie I-Nodes.

Der Superblock befindet sich immer im RAM

Þ Alle Vorgänge (Freigabe und Belegung von Blöcken und I-Nodes erfolgen im RAM Þ Minimierung des Festplattenaustauschs.

Aber! Wenn der Inhalt des Superblocks nicht auf die Festplatte geschrieben wird und der Strom ausgeschaltet wird, treten Probleme auf (eine Diskrepanz zwischen dem tatsächlichen Zustand des Dateisystems und dem Inhalt des Superblocks). Dies ist aber bereits eine Voraussetzung für die Zuverlässigkeit der Anlagenausstattung.

Kommentar. UFS-Dateisysteme unterstützen mehrere Kopien des Superblocks (eine Kopie pro Zylindergruppe), um die Stabilität zu verbessern.

Inode-Bereich

Dies ist ein Array von Dateibeschreibungen namens i-Knoten (ich -Knoten).(64 Byte?)

Jeder Indexdeskriptor (I-Node) einer Datei enthält:

· Dateityp (Datei/Verzeichnis/spezielle Datei/Fifo/Socket)

· Attribute (Zugriffsrechte) – 10

Dateieigentümer-ID

· Gruppen-ID des Dateieigentümers

· Dateierstellungszeit

Dateiänderungszeit

· Zeitpunkt des letzten Zugriffs auf die Datei

· Dateilänge

· Anzahl der Links zu einem bestimmten I-Node aus verschiedenen Verzeichnissen

Dateiblockadressen

!beachten Sie. Hier gibt es keinen Dateinamen

Schauen wir uns die Organisation genauer an Blockadressierung, in dem sich die Datei befindet. Im Adressfeld stehen also die Nummern der ersten 10 Blöcke der Datei.

Wenn die Datei zehn Blöcke überschreitet, beginnt der folgende Mechanismus zu funktionieren: Das 11. Element des Feldes enthält die Blocknummer, die 128 (256) Links zu Blöcken dieser Datei enthält. Wenn die Datei noch größer ist, wird das 12. Element des Felds verwendet – es enthält die Blocknummer, die 128 (256) Blocknummern enthält, wobei jeder Block 128 (256) Blocknummern des Dateisystems enthält. Und wenn die Datei noch größer ist, kommt das 13. Element zum Einsatz – dort erhöht sich die Verschachtelungstiefe der Liste um ein weiteres.

Auf diese Weise können wir eine Datei der Größe (10+128+128 2 +128 3)*512 erhalten.

Dies lässt sich wie folgt darstellen:

Adresse des 1. Blocks der Datei

Adresse des 2. Blocks der Datei

Adresse des 10. Blocks der Datei

Indirekte Adressierung Blockadresse (Block mit 256 Blockadressen)

Adresse des 2. indirekten Adressierungsblocks (Block mit 256 Adressblöcken mit Adressen)

Adresse des 3. indirekten Adressierungsblocks (Block mit Adressen von Blöcken mit Adressen von Blöcken mit Adressen)

Dateischutz

Schauen wir uns nun die Eigentümer- und Gruppen-IDs sowie die Sicherheitsbits an.

Im Unix-Betriebssystem wird es verwendet dreistufige Benutzerhierarchie:

Die erste Ebene umfasst alle Benutzer.

Die zweite Ebene sind Benutzergruppen. (Alle Benutzer sind in Gruppen eingeteilt.

Die dritte Ebene ist ein bestimmter Benutzer (Gruppen bestehen aus echte Benutzer). Aufgrund dieser dreistufigen Benutzerorganisation verfügt jede Datei über drei Attribute:

1) Eigentümer der Datei. Dieses Attribut ist einem bestimmten Benutzer zugeordnet, der vom System automatisch als Eigentümer der Datei zugewiesen wird. Sie können der Standardeigentümer werden, indem Sie eine Datei erstellen. Außerdem gibt es einen Befehl, mit dem Sie den Eigentümer einer Datei ändern können.

2) Dateizugriffsschutz. Der Zugriff auf jede Datei ist auf drei Kategorien beschränkt:

· Eigentümerrechte (was der Eigentümer mit dieser Datei tun kann, im Allgemeinen nicht unbedingt alles);

· Rechte der Gruppe, zu der der Dateieigentümer gehört. Der Eigentümer ist hier nicht enthalten (z. B. kann eine Datei für den Eigentümer lesegeschützt sein, aber alle anderen Gruppenmitglieder können die Datei frei lesen;

· alle anderen Benutzer des Systems;

Diese drei Kategorien regeln drei Aktionen: Lesen aus einer Datei, Schreiben in eine Datei und Ausführen einer Datei (in der Mnemonik). R,W,X-Systeme, jeweils). Jede Datei in diesen drei Kategorien definiert, welcher Benutzer lesen, schreiben und wer sie als Prozess ausführen kann.

Verzeichnisorganisation

Aus Sicht des Betriebssystems ist ein Verzeichnis eine reguläre Datei, die Daten über alle Dateien enthält, die zum Verzeichnis gehören.

Ein Verzeichniselement besteht aus zwei Feldern:

1)Nummer des I-Nodes (Ordnungszahl im Array der I-Nodes) und

2)Dateiname:

Jedes Verzeichnis enthält zwei spezielle Namen: „.“ – das Verzeichnis selbst; '..' - übergeordnetes Verzeichnis.

(Für das Stammverzeichnis bezieht sich das übergeordnete Verzeichnis auf dasselbe Verzeichnis.)

Im Allgemeinen kann ein Verzeichnis mehrere Einträge enthalten, die auf denselben I-Node verweisen, das Verzeichnis darf jedoch keine Einträge mit demselben Namen enthalten. Das heißt, dem Inhalt der Datei können beliebig viele Namen zugeordnet werden. Das heißt binden. Ein Verzeichniseintrag, der zu einer einzelnen Datei gehört, wird aufgerufen Kommunikation.

Dateien existieren unabhängig von Verzeichniseinträgen und Verzeichnisverknüpfungen verweisen tatsächlich auf physische Dateien. Eine Datei „verschwindet“, wenn der letzte Link, der auf sie verweist, gelöscht wird.

Um also über den Namen auf eine Datei zuzugreifen, operationssystem

1. findet diesen Namen im Verzeichnis, in dem sich die Datei befindet,

2. Ruft die Nummer des I-Node der Datei ab,

3. Verwenden Sie die Nummer, um den I-Knoten im Bereich der I-Knoten zu finden.

4. Vom I-Node erhält er die Adressen der Blöcke, in denen sich die Dateidaten befinden.

5. liest Blöcke aus dem Datenbereich anhand von Blockadressen.

Festplattenpartitionsstruktur in EXT2 FS

Der gesamte Partitionsraum ist in Blöcke unterteilt. Ein Block kann 1, 2 oder 4 Kilobyte groß sein. Ein Block ist eine adressierbare Einheit des Speicherplatzes.

Blöcke in ihrem Bereich werden zu Blockgruppen zusammengefasst. Blockgruppen in einem Dateisystem und Blöcke innerhalb einer Gruppe werden fortlaufend nummeriert, beginnend mit 1. Der erste Block auf einer Festplatte hat die Nummer 1 und gehört zur Gruppennummer 1. Die Gesamtzahl der Blöcke auf einer Festplatte (in einer Festplattenpartition) ist ein Teiler der Kapazität der Festplatte, ausgedrückt in Sektoren. Und die Anzahl der Blockgruppen muss nicht durch die Anzahl der Blöcke geteilt werden, da die letzte Blockgruppe möglicherweise nicht vollständig ist. Der Anfang jeder Blockgruppe hat eine Adresse, die als ((Gruppennummer - 1)* (Anzahl der Blöcke in der Gruppe)) erhalten werden kann.

Jede Blockgruppe hat die gleiche Struktur. Seine Struktur ist in der Tabelle dargestellt.

Das erste Element dieser Struktur (Superblock) ist für alle Gruppen gleich, alle anderen sind für jede Gruppe individuell. Der Superblock wird im ersten Block jeder Blockgruppe gespeichert (mit Ausnahme von Gruppe 1, die im ersten Block einen Boot-Record hat). Superblock ist der Ausgangspunkt des Dateisystems. Es ist 1024 Byte groß und befindet sich immer 1024 Byte versetzt vom Anfang des Dateisystems. Das Vorhandensein mehrerer Kopien eines Superblocks erklärt sich aus der extremen Bedeutung dieses Elements des Dateisystems. Superblock-Duplikate werden bei der Wiederherstellung eines Dateisystems nach Fehlern verwendet.

Die im Superblock gespeicherten Informationen werden verwendet, um den Zugriff auf die restlichen Daten auf der Festplatte zu organisieren. Der Superblock bestimmt die Größe des Dateisystems, die maximale Anzahl von Dateien in der Partition, die Menge an freiem Speicherplatz und enthält Informationen darüber, wo nach nicht zugewiesenen Bereichen gesucht werden soll. Wenn das Betriebssystem startet, wird der Superblock in den Speicher eingelesen und alle Änderungen am Dateisystem werden zunächst in einer Kopie des Superblocks im Betriebssystem widergespiegelt und nur in regelmäßigen Abständen auf die Festplatte geschrieben. Dies verbessert die Systemleistung, da viele Benutzer und Prozesse ständig Dateien aktualisieren. Andererseits muss der Superblock beim Ausschalten des Systems auf die Festplatte geschrieben werden, was ein Ausschalten des Computers durch einfaches Ausschalten der Stromversorgung nicht ermöglicht. Andernfalls entsprechen die im Superblock aufgezeichneten Informationen beim nächsten Booten nicht dem tatsächlichen Zustand des Dateisystems.

Dem Superblock folgt eine Beschreibung der Blockgruppe (Gruppendeskriptoren). Diese Beschreibung enthält:

Adresse des Blocks, der die Blockbitmap dieser Gruppe enthält;

Adresse des Blocks, der die Inode-Bitmap dieser Gruppe enthält;

Adresse des Blocks, der die Inode-Tabelle dieser Gruppe enthält;

Zähler der Anzahl freier Blöcke in dieser Gruppe;

Die Anzahl der freien Inodes in dieser Gruppe;

Die Anzahl der Inodes in einer bestimmten Gruppe, bei denen es sich um Verzeichnisse handelt

und andere Daten.

Die in der Gruppenbeschreibung gespeicherten Informationen werden zum Auffinden der Block- und Inode-Bitmaps sowie der Inode-Tabelle verwendet.

Dateisystem Ext 2 ist gekennzeichnet durch:

  • hierarchische Struktur,
  • vereinbarte Verarbeitung Datensätze,
  • dynamische Dateierweiterung,
  • Schutz von Informationen in Dateien,
  • Peripheriegeräte (z. B. Terminals und Bandgeräte) als Dateien behandeln.

Interne Dateidarstellung

Jede Datei im Ext 2-System verfügt über einen eindeutigen Index. Der Index enthält die Informationen, die jeder Prozess benötigt, um auf die Datei zuzugreifen. Verarbeitet Zugriffsdateien mithilfe eines klar definierten Satzes von Systemaufrufen und identifiziert die Datei mit einer Zeichenfolge, die als qualifizierter Dateiname fungiert. Jeder zusammengesetzte Name identifiziert eine Datei eindeutig, sodass der Systemkern diesen Namen in einen Dateiindex umwandelt. Der Index enthält eine Tabelle mit Adressen, an denen sich Dateiinformationen auf der Festplatte befinden. Da jeder Block auf einer Festplatte über eine eigene Nummer adressiert wird, speichert diese Tabelle eine Sammlung von Festplattenblocknummern. Um die Flexibilität zu erhöhen, hängt der Kernel eine Datei blockweise an, sodass die Informationen der Datei über das gesamte Dateisystem verteilt werden können. Dieses Layout erschwert jedoch die Suche nach Daten. Die Adresstabelle enthält eine Liste von Blocknummern mit Informationen, die zur Datei gehören.

Datei-Inodes

Jede Datei auf der Festplatte verfügt über einen entsprechenden Datei-Inode, der durch seine Seriennummer – den Dateiindex – identifiziert wird. Dies bedeutet, dass die Anzahl der Dateien, die in einem Dateisystem erstellt werden können, durch die Anzahl der Inodes begrenzt ist, die entweder explizit beim Erstellen des Dateisystems angegeben oder auf der Grundlage der physischen Größe der Festplattenpartition berechnet wird. Inodes sind in statischer Form auf der Festplatte vorhanden und der Kernel liest sie in den Speicher, bevor er mit ihnen arbeitet.

Der Datei-Inode enthält die folgenden Informationen:

- Der Typ und die Zugriffsrechte für diese Datei.

Kennung des Dateieigentümers (Owner Uid).

Dateigröße in Bytes.

Zeitpunkt des letzten Zugriffs auf die Datei (Zugriffszeit).

Zeit der Dateierstellung.

Zeitpunkt der letzten Änderung der Datei.

Zeit zum Löschen der Datei.

Gruppen-ID (GID).

Links zählen.

Die Anzahl der von der Datei belegten Blöcke.

Dateiflags

Reserviert für das Betriebssystem

Zeiger auf Blöcke, in die Dateidaten geschrieben werden (ein Beispiel für direkte und indirekte Adressierung in Abb. 1)

Dateiversion (für NFS)

ACL-Datei

Verzeichnis-ACL

Fragmentadresse

Fragmentnummer

Fragmentgröße

Kataloge

Verzeichnisse sind Dateien.

Der Kernel speichert Daten in einem Verzeichnis genau wie in einem regulären Dateityp, indem er eine Indexstruktur und Blöcke mit direkten und indirekten Adressierungsebenen verwendet. Prozesse können Daten aus Verzeichnissen auf die gleiche Weise lesen, wie sie normale Dateien lesen. Der ausschließliche Schreibzugriff auf das Verzeichnis wird jedoch vom Kernel reserviert, um sicherzustellen, dass die Verzeichnisstruktur korrekt ist.)

Wenn ein Prozess einen Dateipfad verwendet, sucht der Kernel in den Verzeichnissen nach der entsprechenden Inode-Nummer. Nachdem der Dateiname in eine Inode-Nummer umgewandelt wurde, wird der Inode im Speicher abgelegt und dann in nachfolgenden Anforderungen verwendet.

Zusätzliche Funktionen von EXT2 FS

Zusätzlich zu den Standard-Unix-Funktionen bietet EXT2fs einige zusätzliche Funktionen, die normalerweise von Unix-Dateisystemen nicht unterstützt werden.

Mit Dateiattributen können Sie ändern, wie der Kernel reagiert, wenn er mit Dateigruppen arbeitet. Sie können Attribute für eine Datei oder ein Verzeichnis festlegen. Im zweiten Fall erben in diesem Verzeichnis erstellte Dateien diese Attribute.

Während der Systemmontage können einige Funktionen im Zusammenhang mit Dateiattributen festgelegt werden. Mit der Mount-Option kann der Administrator auswählen, wie Dateien erstellt werden. In einem BSD-spezifischen Dateisystem werden Dateien mit derselben Gruppen-ID wie das übergeordnete Verzeichnis erstellt. Die Funktionen von System V sind etwas komplexer. Wenn für ein Verzeichnis das Setgid-Bit gesetzt ist, erben erstellte Dateien die Gruppenkennung dieses Verzeichnisses und Unterverzeichnisse erben die Gruppenkennung und das Setgid-Bit. Andernfalls werden Dateien und Verzeichnisse mit der primären Gruppen-ID des aufrufenden Prozesses erstellt.

Das EXT2fs-System kann ähnlich wie das BSD-System eine synchrone Datenänderung verwenden. Mit der Mount-Option kann der Administrator festlegen, dass alle Daten (Inodes, Bitblöcke, indirekte Blöcke und Verzeichnisblöcke) synchron auf die Festplatte geschrieben werden, wenn sie geändert werden. Dadurch kann zwar eine hohe Datenaufzeichnungskapazität erreicht werden, führt aber auch zu einer schlechten Performance. In der Realität wird diese Funktion normalerweise nicht genutzt, da sie neben Leistungseinbußen auch zum Verlust von Benutzerdaten führen kann, die bei der Überprüfung des Dateisystems nicht erkannt werden.

Mit EXT2fs können Sie beim Erstellen eines Dateisystems die logische Blockgröße auswählen. Es kann 1024, 2048 oder 4096 Byte groß sein. Die Verwendung größerer Blöcke führt zu schnelleren E/A-Vorgängen (da weniger Festplattenanforderungen gestellt werden) und daher zu weniger Kopfbewegungen. Andererseits führt die Verwendung großer Blöcke zu einer Verschwendung von Speicherplatz. Normalerweise wird der letzte Block einer Datei nicht vollständig zum Speichern von Informationen genutzt, sodass mit zunehmender Blockgröße auch mehr Speicherplatz verschwendet wird.

Mit EXT2fs können Sie beschleunigte symbolische Links verwenden. Bei der Verwendung solcher Links werden keine Datenblöcke des Dateisystems verwendet. Der Zieldateiname wird nicht im Datenblock, sondern im Inode selbst gespeichert. Durch diese Struktur können Sie Speicherplatz sparen und die Verarbeitung symbolischer Links beschleunigen. Natürlich ist der für ein Handle reservierte Platz begrenzt, sodass nicht jeder Link als beschleunigter Link dargestellt werden kann. Die maximale Länge eines Dateinamens in einem beschleunigten Link beträgt 60 Zeichen. In naher Zukunft ist geplant, dieses Schema auf kleine Dateien auszuweiten.

EXT2fs überwacht den Zustand des Dateisystems. Der Kernel verwendet ein separates Feld im Superblock, um den Status des Dateisystems anzuzeigen. Wenn das Dateisystem im Lese-/Schreibmodus gemountet ist, wird sein Status auf „Nicht sauber“ gesetzt. Wenn es im schreibgeschützten Modus demontiert oder erneut gemountet wird, wird sein Status auf „Clean“ gesetzt. Bei Systemstart- und Dateisystemstatusprüfungen werden diese Informationen verwendet, um festzustellen, ob eine Dateisystemprüfung erforderlich ist. Der Kernel platziert auch einige Fehler in diesem Feld. Wenn der Kernel eine Nichtübereinstimmung erkennt, wird das Dateisystem als „Fehlerhaft“ markiert. Der Dateisystemprüfer testet diese Informationen, um das System zu überprüfen, auch wenn sein Status tatsächlich „Clean“ ist.

Das Ignorieren von Dateisystemtests über einen längeren Zeitraum kann manchmal zu Schwierigkeiten führen. Daher bietet EXT2fs zwei Methoden zur regelmäßigen Überprüfung des Systems. Der Superblock enthält den System-Mount-Zähler. Dieser Zähler wird jedes Mal erhöht, wenn das System im Lese-/Schreibmodus gemountet wird. Wenn sein Wert das Maximum erreicht (er wird auch im Superblock gespeichert), beginnt das Dateisystem-Testprogramm mit der Überprüfung, auch wenn sein Status „Clean“ ist. Der letzte Prüfzeitpunkt und das maximale Intervall zwischen den Prüfungen werden ebenfalls im Superblock gespeichert. Wenn das maximale Intervall zwischen den Scans erreicht ist, wird der Status des Dateisystems ignoriert und der Scan gestartet.

Leistungsoptimierung

Das EXT2fs-System enthält viele Funktionen, die seine Leistung optimieren, was zu einer erhöhten Geschwindigkeit des Informationsaustauschs beim Lesen und Schreiben von Dateien führt.

EXT2fs nutzt aktiv den Festplattenpuffer. Wenn ein Block gelesen werden muss, sendet der Kernel eine E/A-Anfrage an mehrere benachbarte Blöcke. Somit versucht der Kernel sicherzustellen, dass der nächste zu lesende Block bereits in den Festplattenpuffer geladen wurde. Solche Vorgänge werden normalerweise beim sequentiellen Lesen von Dateien ausgeführt.

Das EXT2fs-System enthält außerdem zahlreiche Optimierungen zur Informationsplatzierung. Blockgruppen werden verwendet, um entsprechende Inodes und Datenblöcke zusammenzufassen. Der Kernel versucht immer, die Datenblöcke einer Datei sowie deren Deskriptor in derselben Gruppe zu platzieren. Dadurch soll die Bewegung der Laufwerksköpfe beim Lesen des Deskriptors und der entsprechenden Datenblöcke reduziert werden.

Beim Schreiben von Daten in eine Datei weist EXT2fs beim Zuweisen eines neuen Blocks bis zu 8 zusammenhängende Blöcke vorab zu. Mit dieser Methode können Sie bei hoher Systemlast eine hohe Leistung erzielen. Dadurch können Dateien auch in zusammenhängenden Blöcken platziert werden, was das spätere Lesen beschleunigt.

Viele Benutzer sind mit einem Mangel an Verständnis für die Grundlagen der Funktionsweise von Dateisystemen konfrontiert. Windows-Systeme. Es scheint, warum eine unnötige Theorie? Tatsächlich ist es das Wissen über die tiefe Funktionsweise verschiedener Dateisysteme, das es Ihnen ermöglicht, das eine oder andere Dateisystem für ein bestimmtes Speichermedium richtig auszuwählen. Manchmal kann ein Auswahlfehler später bei der Lösung des Problems der Informationswiederherstellung oder des vorzeitigen Verschleißes der Medien kritisch werden.

Das Dateisystem besteht aus einem Dateiverwaltungssystem und einer Sammlung von Dateien auf einem bestimmten Medientyp (CD, DVD, FDD, HDD, Flash usw.). Ein Dateiverwaltungssystem ermöglicht Benutzern und Anwendungen den Zugriff auf Dateien, deren Speicherung und die Aufrechterhaltung der Integrität ihrer Inhalte. Das gebräuchlichste Langzeitspeichermedium in der Moderne Computersysteme Ist Festplatte- „Winchester.“ Dieser Begriff gilt für alle versiegelten Datenträger mit aerodynamisch gestalteten magnetischen Leseköpfen.

Dateisysteme moderner Betriebssysteme werden installiert Abschnitte von hart Scheibe.

FAT 32. Einfachheit und Zuverlässigkeit.

Es gibt drei FAT-Dateisysteme: FAT12 (für FDD-Disketten), FAT16, FAT32. Sie unterscheiden sich in der Anzahl der Bits (12, 16, 32), um die Clusternummer im Dateiverwaltungssystem anzuzeigen. In FAT-Dateisystemen ist der logische Speicherplatz jedes logischen Laufwerks in einen Systembereich und einen Datenbereich unterteilt. BR – Boot Record; RS – reservierte Sektoren; FAT1, FAT2 – Dateizuordnungstabellen 1 und 2; RDir (Stammverzeichnis, ROOT) – Stammverzeichnis. Der Datenbereich ist in Cluster unterteilt, die einen oder mehrere benachbarte Sektoren darstellen. In einer FAT-Tabelle sind Cluster, die zur gleichen Datei gehören, in einer Kette verknüpft. Die Karte des Datenbereichs ist in der Tat die File Allocation Table (FAT). Jedes Element der FAT-Tabelle (12, 16 oder 32 Bit) entspricht einem Festplattencluster und charakterisiert seinen Status: frei, beschäftigt oder fehlerhaft Cluster. Zur Angabe der Clusternummer im FAT16-Dateiverwaltungssystem wird ein 16-Bit-Wort verwendet und es können 65536 Cluster angesprochen werden.

Ein Cluster ist eine minimal adressierbare Einheit des Festplattenspeichers, die einer Datei zugewiesen ist. Eine Datei oder ein Verzeichnis belegt eine ganzzahlige Anzahl von Clustern. Durch die Aufteilung des Datenbereichs in Cluster anstelle der Verwendung von Sektoren können Sie: die Größe der FAT-Tabelle reduzieren, die Dateifragmentierung reduzieren, die Länge von Dateiketten reduzieren und den Dateizugriff beschleunigen. Der letzte Cluster wird möglicherweise nicht vollständig genutzt, was bei einer großen Clustergröße zu einem spürbaren Verlust an Speicherplatz führt. Auf einer Diskette belegt der Cluster 1 oder 2 Sektoren. Die Festplatte verfügt über 4, 8, 16, 32, 64 Sektoren in einem Cluster. Jedes Element hat die folgende Struktur: Dateiname, Dateiattribut, Reservefeld, Erstellungszeit, Erstellungsdatum, letztes Zugriffsdatum, Reserve, letztes Änderungsdatum, letzte Änderungszeit, Fat-Anfangsclusternummer, Dateigröße.

In diesem Beispiel wird eine Datei mit dem Namen MyFile.txt ab dem 8. Cluster platziert und belegt 12 Cluster. Die Clusterkette für diesen Fall: 8,9,A,B,15,16,17,19,1A,1B,1C,1D. Cluster Nummer 18 ist mit dem Code F7 als fehlerhaft gekennzeichnet. Es kann nicht zum Hosten von Daten verwendet werden. Dieser Code wird von Dienstprogrammen zur Festplattenformatierung und -prüfung festgelegt. Cluster 1D ist mit dem FF-Code als letzter zu dieser Datei gehörender Cluster gekennzeichnet. Freie Cluster werden mit dem Code 0 gekennzeichnet. Wenn ein neuer Cluster zugewiesen wird, wird der erste freie Cluster zum Schreiben in eine Datei verwendet. Wenn Dateien auf der Festplatte geändert, gelöscht, verschoben, vergrößert und verkleinert werden, führt diese Platzierungsregel zu Fragmentierung, d. h. Die Daten einer Datei liegen nicht in benachbarten Clustern, sondern teilweise sehr weit voneinander entfernt. Es entsteht eine komplexe Kette. Dies führt zu einer langsameren Arbeit mit Dateien. Da Fat beim Plattenzugriff sehr intensiv genutzt wird, wird es in den RAM geladen. Das Fat32-System nutzt den Speicherplatz viel effizienter, da es im Vergleich zu früheren Fat-Versionen kleinere Cluster verwendet. Im Vergleich zu Fat16 ergibt dies eine Ersparnis von 10-16 %.

Das Attributfeld eines Verzeichniselements kann die folgenden Werte speichern:

1) Archiv (installiert, wenn die Datei geändert und vom laufenden Programm entfernt wird Sicherung Dateien auf ein anderes Medium);

2) Verzeichnis;

3) Datenträgerbezeichnung;

4) systemisch;

5) versteckt;

6) schreibgeschützt.

Lange Namen in FAT32 werden durch die Verwendung mehrerer Verzeichniseinträge bereitgestellt: für eine Datei (ein Eintrag ist ein Eintrag für den 8.3-Namen und 24 Einträge für den längsten Namen, der bis zu 256 Zeichen lang sein kann). Daher wird dies nicht empfohlen Verwenden Sie lange Namen.

Der Hauptnachteil von FAT ist die langsame Verarbeitung von Dateien. Beim Erstellen einer Datei gilt die Regel, dass der erste freie Cluster zugewiesen wird. Dies führt zu Festplattenfragmentierung und komplexen Dateiketten. Dies führt zu einer langsameren Arbeit mit Dateien.

Grundsätzlich ist das FAT-Dateisystem heute etwas, das man meiden sollte. Daher ist es wichtig, ein geeignetes System auszuwählen, mit dem Sie dieses Dateisystem vermeiden können.

NTFS: Komfort und hohe Geschwindigkeit.

Eines der Hauptkonzepte bei der Arbeit mit NTFS ist das Konzept des Volumens. Es ist möglich, ein fehlertolerantes Volume zu erstellen, das mehrere Partitionen belegt, also die RAID-Technologie zu verwenden. NTFS unterteilt den gesamten nutzbaren Speicherplatz auf einem Volume in Cluster – Datenblöcke, die als Dateneinheiten adressiert werden. NTFS unterstützt Clustergrößen von 512 Byte bis 64 KB; Der MFT-Zone werden 2 oder 4 KB Speicherplatz zugewiesen – Speicherplatz, der von der Hauptdienst-Metadatei MFT belegt werden kann, wobei die Größe zunimmt. Es ist nicht möglich, Daten in diesen Bereich zu schreiben. Die MFT-Zone ist leer, damit die Servicedatei (MFT) beim Wachsen nicht fragmentiert wird.

MFT (Common File Table) ist ein zentralisiertes Verzeichnis aller anderen Dateien auf der Festplatte, einschließlich sich selbst. MFT ist in Datensätze mit fester Größe von 1 KB unterteilt, wobei jeder Datensatz einer Datei entspricht. Die ersten 16 Dateien haben Servicecharakter und sind für das Betriebssystem nicht zugänglich – sie werden Metadateien genannt, wobei die allererste Metadatei die MFT selbst ist. Diese ersten 16 MFT-Elemente sind der einzige Teil der Scheibe, der eine streng festgelegte Position hat. Eine Kopie dieser 16 Einträge wird aus Sicherheitsgründen in der Mitte des Bandes aufbewahrt, da sie sehr wichtig sind. Die restlichen Teile der MFT-Datei können sich an beliebigen Stellen auf der Festplatte befinden – Sie können ihre Position mithilfe der Datei selbst wiederherstellen, indem Sie sie genau an der Basis „fangen“ – am ersten MFT-Element. Jede Datei in NTFS wird durch Streams dargestellt; sie enthält keine Daten, sondern „Streams“. Einer der Streams sind Dateidaten. Sie können mehrere Datenströme für eine Datei definieren.

Hauptmerkmale von NTFS:

Die Arbeit auf großen Festplatten erfolgt effizient (viel effizienter als in FAT);

Es gibt Tools, um den Zugriff auf Dateien und Verzeichnisse einzuschränken;

NTFS-Partitionen bieten lokale Sicherheit sowohl für Dateien als auch für Verzeichnisse;

Es wurde ein Transaktionsmechanismus eingeführt, bei dem Dateivorgänge protokolliert werden;

Deutliche Steigerung der Zuverlässigkeit;

Viele Einschränkungen hinsichtlich der maximalen Anzahl von Festplattensektoren und/oder Clustern wurden entfernt;

Ein Dateiname in NTFS kann im Gegensatz zu den Dateisystemen FAT und HPFS beliebige Zeichen enthalten, einschließlich des gesamten Satzes nationaler Alphabete, da die Daten in Unicode dargestellt werden – einer 16-Bit-Darstellung, die 65535 verschiedene Zeichen ergibt. Die maximale Länge eines Dateinamens in NTFS beträgt 255 Zeichen.

NTFS verfügt außerdem über integrierte Komprimierungsfunktionen, die Sie auf einzelne Dateien, ganze Verzeichnisse und sogar Volumes anwenden (und diese dann nach Belieben rückgängig machen oder neu zuweisen können). Ein Verzeichnis in NTFS ist eine spezielle Datei, die Links zu anderen Dateien und Verzeichnissen speichert.

NTFS bietet Sicherheit auf Dateiebene. Dies bedeutet, dass Zugriffsrechte auf Volumes, Verzeichnisse und Dateien vom Benutzerkonto und den Gruppen abhängen können, denen der Benutzer angehört. Jedes Mal, wenn ein Benutzer auf ein Dateisystemobjekt zugreift, werden seine Zugriffsrechte anhand der Berechtigungsliste dieses Objekts überprüft. Verfügt der Nutzer über ausreichende Rechte, wird seinem Antrag stattgegeben; andernfalls wird die Anfrage abgelehnt. Dieses Sicherheitsmodell gilt sowohl für die lokale Benutzerregistrierung auf NT-Computern als auch für Remote-Netzwerkanfragen.

Das NTFS-System verfügt außerdem über bestimmte Selbstheilungsfunktionen. NTFS unterstützt verschiedene Mechanismen zur Überprüfung der Systemintegrität, einschließlich der Transaktionsprotokollierung, die die Wiedergabe von Dateischreibvorgängen anhand eines speziellen Systemprotokolls ermöglicht.

Der Hauptnachteil des NTFS-Dateisystems besteht darin, dass Dienstdaten viel Platz beanspruchen (z. B. nimmt jedes Verzeichniselement 2 KB ein) – bei kleinen Partitionen können Dienstdaten bis zu 25 % des Medienvolumens beanspruchen.

Wenn wir also einen Dateisystemtyp auswählen, wählen wir keine abstrakte Aktion aus, sondern treffen eine Reihe von Entscheidungen, die sich auf das gesamte System als Ganzes auswirken. Warum sollten Sie alle Einzelheiten des Dateisystems so detailliert kennen? Dies ist für eine mögliche Wiederherstellung notwendig, worüber wir in einem der folgenden Artikel sprechen werden =)

FETT(Englisch) Datei Zuweisung Tisch- „File Allocation Table“) ist eine klassische Dateisystemarchitektur, die aufgrund ihrer Einfachheit immer noch häufig für Flash-Laufwerke verwendet wird. Wird in Disketten und einigen anderen Speichermedien verwendet. Früher auf Festplatten verwendet.

Das Dateisystem wurde 1977 von Bill Gates und Mark MacDonald entwickelt und ursprünglich im 86-DOS-Betriebssystem verwendet. 86-DOS wurde später von Microsoft übernommen und wurde zur Grundlage für MS-DOS 1.0, das im August 1981 veröffentlicht wurde. FAT war für die Verwendung mit Disketten kleiner als 1 MB konzipiert und bot zunächst keine Unterstützung für Festplatten.

Derzeit gibt es vier Versionen von FAT: FAT8, FAT12, FAT16 Und FAT32. Sie unterscheiden sich in der Bittiefe der Datensätze in der Plattenstruktur die Anzahl der Bits, die zum Speichern der Clusternummer zugewiesen sind. FAT12 wird hauptsächlich für Disketten verwendet, FAT16 – für kleine Festplatten, FAT32 – für Festplatte. Auf Basis von FAT wurde ein neues Dateisystem entwickelt exFAT(erweitertes FAT), wird hauptsächlich für Flash-Laufwerke verwendet.

FAT-Dateisystem füllt sich freier Platz auf der Festplatte nacheinander von Anfang bis Ende. Beim Erstellen einer neuen Datei oder beim Erweitern einer vorhandenen Datei wird nach dem ersten freien Cluster in der Dateizuordnungstabelle gesucht. Wenn einige Dateien gelöscht wurden und andere ihre Größe geändert haben, werden die resultierenden leeren Cluster über die Festplatte verteilt. Wenn sich die Cluster, die die Dateidaten enthalten, nicht in einer Zeile befinden, liegt dies an der Datei fragmentiert. Stark fragmentierte Dateien verringern die Effizienz erheblich, da sich die Lese-/Schreibköpfe bei der Suche nach dem nächsten Dateieintrag von einem Bereich der Festplatte in einen anderen bewegen müssen. Es empfiehlt sich, die für die Speicherung der Datei vorgesehenen Cluster nebeneinander zu platzieren, da dies die Suchzeit verkürzt. Dies ist jedoch nur mit einem speziellen Programm möglich; Defragmentierung Datei.

Ein weiterer Nachteil von FAT besteht darin, dass seine Leistung von der Anzahl der Dateien in einem Verzeichnis abhängt. Bei einer großen Anzahl von Dateien (etwa tausend) kann das Lesen der Dateiliste in einem Verzeichnis mehrere Minuten dauern. FAT speichert keine Informationen wie Dateieigentümer oder Dateiberechtigungen.

FAT ist ein einfaches Dateisystem, das eine Dateibeschädigung aufgrund eines abnormalen Herunterfahrens des Computers nicht verhindert. Es ist eines der am häufigsten verwendeten Dateisysteme und wird von den meisten Betriebssystemen unterstützt.

Organisation des Fat-Dateisystems

Alle modernen Festplatten-Betriebssysteme ermöglichen die Erstellung eines Dateisystems zum Speichern von Daten auf Festplatten und zum Zugriff darauf. Damit Daten auf eine Festplatte geschrieben werden können, muss ihre Oberfläche strukturiert sein – d. h. teilen in Sektoren Und Spuren.

A-Gleis

C-Cluster

Abbildung 1 – Festplattenstruktur

Wege- Dies sind konzentrische Kreise, die die Oberfläche der Scheibe bedecken. Der Spur, die am nächsten zum Rand der Platte liegt, wird die Nummer 0 zugewiesen, der nächsten die Nummer 1 usw. Wenn die Diskette doppelseitig ist, sind beide Seiten nummeriert. Die Nummer der ersten Seite ist 0, die Nummer der zweiten Seite ist 1.

Jeder Track ist in sogenannte Abschnitte unterteilt Sektoren. Den Sektoren werden auch Nummern zugewiesen. Dem ersten Sektor auf der Strecke wird die Nummer 1 zugewiesen, dem zweiten die Nummer 2 usw.

Eine Festplatte besteht aus einer oder mehreren runden Platten. Beide Oberflächen der Platte dienen zur Speicherung von Informationen. Jede Fläche ist in Spuren, Spuren wiederum in Sektoren unterteilt. Pfade mit demselben Radius sind Zylinder. Somit bilden alle Nullspuren Zylinder Nummer Null, Spuren Nummer 1 bilden Zylinder Nummer 1 usw.

Daher kann die Oberfläche einer Festplatte als dreidimensionale Matrix betrachtet werden, deren Abmessungen die Zahlen sind Oberfläche, Zylinder Und Sektoren. Unter einem Zylinder versteht man eine Menge aller Bahnen, die zu verschiedenen Oberflächen gehören und sich in gleichem Abstand von der Rotationsachse befinden.

FAT-Dateisysteme

FAT16

Das FAT16-Dateisystem stammt aus der Zeit vor MS-DOS und wird aus Kompatibilitätsgründen von allen Microsoft-Betriebssystemen unterstützt. Der Name File Allocation Table spiegelt perfekt die physische Organisation des Dateisystems wider, zu dessen Hauptmerkmalen die Tatsache gehört, dass die maximale Größe eines unterstützten Volumes (Festplatte oder Partition auf einer Festplatte) 4095 MB nicht überschreitet. Zu Zeiten von MS-DOS 4 Gigabyte Festplatten schien ein Wunschtraum zu sein (20-40-MB-Festplatten waren ein Luxus), daher war eine solche Reserve durchaus gerechtfertigt.

Ein für die Verwendung von FAT16 formatiertes Volume ist in Cluster unterteilt. Die Standardclustergröße hängt von der Volumegröße ab und kann zwischen 512 Byte und 64 KB liegen. In der Tabelle Abbildung 2 zeigt, wie die Clustergröße mit der Volumegröße variiert. Beachten Sie, dass die Clustergröße vom Standardwert abweichen kann, aber einen der in der Tabelle angegebenen Werte haben muss. 2.

Es wird nicht empfohlen, das FAT16-Dateisystem auf Volumes mit mehr als 511 MB zu verwenden, da bei relativ kleinen Dateien der Speicherplatz äußerst ineffizient genutzt wird (eine 1-Byte-Datei belegt 64 KB). Unabhängig von der Clustergröße wird das FAT16-Dateisystem für Volumes mit mehr als 4 GB nicht unterstützt.

FAT32

Beginnend mit Microsoft Windows 95 OEM Service Release 2 (OSR2) führte Windows die Unterstützung für 32-Bit-FAT ein. Für Windows NT-basierte Systeme wurde dieses Dateisystem erstmals in Microsoft Windows 2000 unterstützt. Während FAT16 Volumes bis zu 4 GB unterstützen kann, kann FAT32 Volumes bis zu 2 TB unterstützen. Die Clustergröße in FAT32 kann zwischen 1 (512 Byte) und 64 Sektoren (32 KB) variieren. FAT32-Clusterwerte erfordern 4 Bytes (32 Bit, nicht 16 Bit wie in FAT16), um Clusterwerte zu speichern. Dies bedeutet insbesondere, dass einige für FAT16 entwickelte Datei-Dienstprogramme nicht mit FAT32 arbeiten können.

Der Hauptunterschied zwischen FAT32 und FAT16 besteht darin, dass sich die Größe der logischen Partition der Festplatte geändert hat. FAT32 unterstützt Volumes bis zu 127 GB. Wenn außerdem bei der Verwendung von FAT16 mit 2-GB-Festplatten ein Cluster mit einer Größe von 32 KB erforderlich war, ist in FAT32 ein Cluster mit einer Größe von 4 KB für Festplatten mit einer Kapazität von 512 MB bis 8 GB geeignet (Tabelle 4).

Dies bedeutet dementsprechend eine effizientere Nutzung des Festplattenspeichers – je kleiner der Cluster, desto weniger Speicherplatz wird zum Speichern der Datei benötigt und daher ist die Wahrscheinlichkeit einer Fragmentierung der Festplatte geringer.

Bei Verwendung von FAT32 kann die maximale Dateigröße 4 GB minus 2 Byte erreichen. Wenn bei Verwendung von FAT16 die maximale Anzahl der Einträge im Stammverzeichnis auf 512 begrenzt war, können Sie diese Zahl bei FAT32 auf 65.535 erhöhen.

FAT32 unterliegt Beschränkungen hinsichtlich der Mindestgröße des Volumes – es müssen mindestens 65.527 Cluster sein. In diesem Fall darf die Clustergröße nicht so sein, dass FAT mehr als 16 MB – 64 KB / 4 oder 4 Millionen Cluster belegt.

Durch die Verwendung langer Dateinamen überlappen sich die Daten, die für den Zugriff von FAT16 und FAT32 erforderlich sind, nicht. Wenn Sie eine Datei mit einem langen Namen erstellen, erstellt Windows einen entsprechenden Namen im 8.3-Format und einen oder mehrere Einträge im Verzeichnis, um den langen Namen zu speichern (13 Zeichen des langen Dateinamens pro Eintrag). Bei jedem weiteren Vorkommen wird der entsprechende Teil des Dateinamens im Unicode-Format gespeichert. Solche Vorkommen haben die Attribute „Volume-ID“, „schreibgeschützt“, „System“ und „versteckt“ – eine Menge, die von MS-DOS ignoriert wird; In diesem Betriebssystem wird auf eine Datei über ihren „Alias“ im 8.3-Format zugegriffen.

NTFS-Dateisystem

Microsoft Windows 2000 bietet Unterstützung für eine neue Version des NTFS-Dateisystems, das insbesondere die Arbeit mit Active Directory-Verzeichnisdiensten, Analysepunkten, Informationssicherheitstools, Zugriffskontrolle und einer Reihe anderer Funktionen ermöglicht.

Wie bei FAT ist die Hauptinformationseinheit in NTFS der Cluster. In der Tabelle Abbildung 5 zeigt die Standardclustergrößen für Volumes mit unterschiedlichen Kapazitäten.

Wenn Sie ein NTFS-Dateisystem erstellen, erstellt der Formatierer eine MTF-Datei (Master File Table) und andere Bereiche zum Speichern von Metadaten. Metadaten werden von NTFS verwendet, um die Dateistruktur zu implementieren. Die ersten 16 Einträge in MFT werden von NTFS selbst reserviert. Der Speicherort der Metadatendateien $Mft und $MftMirr wird im Bootsektor der Festplatte aufgezeichnet. Wenn der erste Eintrag im MFT beschädigt ist, liest NTFS den zweiten Eintrag, um eine Kopie des ersten zu finden. Eine vollständige Kopie des Bootsektors befindet sich am Ende des Volumes. In der Tabelle Abbildung 6 listet die wichtigsten in MFT gespeicherten Metadaten auf.

Die verbleibenden MFT-Einträge enthalten Einträge für jede Datei und jedes Verzeichnis, die sich auf dem Volume befinden.

Normalerweise verwendet eine Datei einen MFT-Eintrag, aber wenn die Datei großes Set Attribute oder es wird zu fragmentiert, dann kann es erforderlich sein, Informationen darüber zu speichern zusätzliche Einträge. In diesem Fall speichert der erste Datensatz einer Datei, der Basisdatensatz genannt wird, den Speicherort der anderen Datensätze. Daten über kleine Dateien und Verzeichnisse (bis zu 1500 Byte) sind vollständig im ersten Datensatz enthalten.

Dateiattribute in NTFS

Jeder belegte Sektor auf einem NTFS-Volume gehört zu der einen oder anderen Datei. Sogar Metadaten des Dateisystems sind Teil der Datei. NTFS behandelt jede Datei (oder jedes Verzeichnis) als eine Reihe von Dateiattributen. Elemente wie der Dateiname, seine Sicherheitsinformationen und sogar die darin enthaltenen Daten sind Dateiattribute. Jedes Attribut wird durch einen bestimmten Typcode und optional einen Attributnamen identifiziert.

Wenn Dateiattribute in einen Dateidatensatz passen, werden sie als residente Attribute bezeichnet. Diese Attribute sind immer der Dateiname und das Erstellungsdatum. In Fällen, in denen die Dateiinformationen zu groß sind, um in einen einzelnen MFT-Datensatz zu passen, werden einige Dateiattribute nicht resident. Residente Attribute werden in einem oder mehreren Clustern gespeichert und stellen einen Strom alternativer Daten für das aktuelle Volume dar (mehr dazu weiter unten). NTFS erstellt ein Attributlistenattribut, um den Speicherort residenter und nicht residenter Attribute zu beschreiben.

In der Tabelle Abbildung 7 zeigt die in NTFS definierten Hauptdateiattribute. Diese Liste kann in Zukunft erweitert werden.

CDFS-Dateisystem

Windows 2000 bietet Unterstützung für das CDFS-Dateisystem, das dem ISO'9660-Standard entspricht, der das Layout von Informationen auf einer CD-ROM beschreibt. Lange Dateinamen werden gemäß ISO'9660 Level 2 unterstützt.

Beim Erstellen einer CD-ROM zur Verwendung mit Windows-Steuerung 2000 sollte Folgendes beachtet werden:

  • alle Verzeichnis- und Dateinamen müssen weniger als 32 Zeichen enthalten;
  • alle Verzeichnis- und Dateinamen dürfen nur aus Großbuchstaben bestehen;
  • Die Verzeichnistiefe sollte 8 Ebenen vom Stammverzeichnis aus nicht überschreiten.
  • Die Verwendung von Dateinamenerweiterungen ist optional.

Vergleich von Dateisystemen

Unter verwaltet von Microsoft Windows 2000 kann die Dateisysteme FAT16, FAT32, NTFS oder Kombinationen davon verwenden. Auswahl Betriebssystem hängt von folgenden Kriterien ab:

  • wie der Computer genutzt wird;
  • Hardwareplattform;
  • Größe und Anzahl der Festplatten;
  • Informationssicherheit

FAT-Dateisysteme

Wie Sie vielleicht bereits bemerkt haben, geben die Zahlen in den Namen der Dateisysteme – FAT16 und FAT32 – die Anzahl der Bits an, die zum Speichern von Informationen über die von der Datei verwendeten Clusternummern erforderlich sind. Somit verwendet FAT16 eine 16-Bit-Adressierung und dementsprechend ist es möglich, bis zu 2 16 Adressen zu verwenden. In Windows 2000 werden die ersten vier Bits der FAT32-Dateispeicherorttabelle für eigene Zwecke verwendet, sodass in FAT32 die Anzahl der Adressen 2 28 erreicht.

In der Tabelle Abbildung 8 zeigt die Clustergrößen für die Dateisysteme FAT16 und FAT32.

Neben erheblichen Unterschieden in der Clustergröße ermöglicht FAT32 auch die Erweiterung des Stammverzeichnisses (in FAT16 ist die Anzahl der Einträge auf 512 begrenzt und kann bei Verwendung langer Dateinamen sogar noch geringer ausfallen).

Vorteile von FAT16

Zu den Vorteilen von FAT16 zählen:

  • das Dateisystem wird von den Betriebssystemen MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000 sowie einigen UNIX-Betriebssystemen unterstützt;
  • es gibt eine große Anzahl von Programmen, mit denen Sie Fehler in diesem Dateisystem korrigieren und Daten wiederherstellen können;
  • Sollten beim Booten von der Festplatte Probleme auftreten, kann das System von einer Diskette gebootet werden;
  • Dieses Dateisystem ist für Volumes kleiner als 256 MB recht effizient.
Nachteile von FAT16

Zu den Hauptnachteilen von FAT16 gehören:

  • Das Stammverzeichnis darf nicht mehr als 512 Elemente enthalten. Durch die Verwendung langer Dateinamen wird die Anzahl dieser Elemente erheblich reduziert;
  • FAT16 unterstützt maximal 65.536 Cluster, und da einige Cluster vom Betriebssystem reserviert sind, beträgt die Anzahl der verfügbaren Cluster 65.524. Jeder Cluster hat eine feste Größe für eine bestimmte logische Einheit. Bei Erreichen der maximalen Clusteranzahl bei maximaler Clustergröße (32 KB) ist das maximal unterstützte Volumen auf 4 GB begrenzt (unter Windows 2000). Um die Kompatibilität mit MS-DOS, Windows 95 und Windows 98 zu gewährleisten, sollte die Volumegröße unter FAT16 2 GB nicht überschreiten;
  • FAT16 unterstützt keinen integrierten Dateischutz und keine Komprimierung.
  • Auf großen Festplatten geht viel Speicherplatz verloren, da die maximale Clustergröße verwendet wird. Der Speicherplatz für eine Datei wird nicht basierend auf der Größe der Datei, sondern basierend auf der Größe des Clusters zugewiesen.
Vorteile von FAT32

Zu den Vorteilen von FAT32 gehören:

  • Die Speicherplatzzuweisung ist effizienter, insbesondere bei großen Festplatten.
  • Das Stammverzeichnis in FAT32 ist eine regelmäßige Kette von Clustern und kann sich an einer beliebigen Stelle auf der Festplatte befinden. Dadurch gibt es bei FAT32 keine Beschränkungen hinsichtlich der Anzahl der Elemente im Stammverzeichnis;
  • durch den Einsatz kleinerer Cluster (4 KB auf Festplatten bis 8 GB) ist der belegte Speicherplatz in der Regel 10-15 % geringer als unter FAT16;
  • FAT32 ist ein zuverlässigeres Dateisystem. Insbesondere unterstützt es die Möglichkeit, das Stammverzeichnis zu verschieben und ein FAT-Backup zu verwenden. Darüber hinaus enthält der Boot-Record eine Reihe von für das Dateisystem kritischen Daten.
Nachteile von FAT32

Die Hauptnachteile von FAT32:

  • Die Volume-Größe bei Verwendung von FAT32 unter Windows 2000 ist auf 32 GB begrenzt;
  • FAT32-Volumes sind unter anderen Betriebssystemen nicht verfügbar – nur unter Windows 95 OSR2 und Windows 98;
  • Die Sicherung des Bootsektors wird nicht unterstützt.
  • FAT32 unterstützt keinen integrierten Dateischutz und keine Komprimierung.

NTFS-Dateisystem

Beim Ausführen von Windows 2000 empfiehlt Microsoft, alle Festplattenpartitionen auf NTFS zu formatieren, mit Ausnahme der Konfigurationen, bei denen mehrere Betriebssysteme verwendet werden (außer Windows 2000 und Windows NT). Durch die Verwendung von NTFS anstelle von FAT können Sie die in NTFS verfügbaren Funktionen nutzen. Hierzu zählen insbesondere:

  • Möglichkeit der Genesung. Diese Funktion ist in das Dateisystem integriert. NTFS garantiert Datensicherheit aufgrund der Tatsache, dass es ein Protokoll und einige Algorithmen zur Informationswiederherstellung verwendet. Im Falle eines Systemausfalls nutzt NTFS das Protokoll und zusätzliche Informationen, um die Integrität des Dateisystems automatisch wiederherzustellen;
  • Informationskomprimierung. Für NTFS-Volumes unterstützt Windows 2000 die Komprimierung einzelner Dateien. Solche komprimierten Dateien können von Windows-Anwendungen ohne vorherige Dekomprimierung verwendet werden, die beim Lesen aus der Datei automatisch erfolgt. Beim Schließen und Speichern wird die Datei erneut gepackt;
  • Darüber hinaus lassen sich folgende Vorteile von NTFS hervorheben:

Für einige Betriebssystemfunktionen ist NTFS erforderlich.

Die Zugriffsgeschwindigkeit ist viel höher – NTFS minimiert die Anzahl der Festplattenzugriffe, die zum Auffinden einer Datei erforderlich sind;

Schützen Sie Dateien und Verzeichnisse. Nur auf NTFS-Volumes ist es möglich, Zugriffsattribute für Dateien und Ordner festzulegen;

Bei Verwendung von NTFS unterstützt Windows 2000 Volumes bis zu 2 TB;

Das Dateisystem verwaltet eine Sicherungskopie des Bootsektors – sie befindet sich am Ende des Volumes;

NTFS unterstützt das Encrypted File System (EFS), das Schutz vor unbefugtem Zugriff auf Dateiinhalte bietet;

Wenn Sie Kontingente verwenden, können Sie den von Benutzern verbrauchten Speicherplatz begrenzen.

Nachteile von NTFS

Was die Nachteile des NTFS-Dateisystems angeht, ist Folgendes zu beachten:

  • NTFS-Volumes sind unter MS-DOS, Windows 95 und Windows 98 nicht verfügbar. Darüber hinaus sind eine Reihe von in NTFS unter Windows 2000 implementierten Funktionen in Windows 4.0 und früheren Versionen nicht verfügbar;
  • Bei kleinen Volumes mit vielen kleinen Dateien kann die Leistung im Vergleich zu FAT eingeschränkt sein.

Dateisystem und Geschwindigkeit

Wie wir bereits herausgefunden haben, bietet FAT16 oder FAT32 bei kleinen Volumina mehr schneller Zugriff auf Dateien im Vergleich zu NTFS, weil:

  • FAT hat eine einfachere Struktur;
  • die Verzeichnisgröße ist kleiner;
  • FAT unterstützt keinen Dateischutz vor unbefugtem Zugriff – das System muss die Dateiberechtigungen nicht überprüfen.

NTFS minimiert die Anzahl der Festplattenzugriffe und die zum Suchen einer Datei erforderliche Zeit. Wenn die Verzeichnisgröße außerdem klein genug ist, um in einen einzelnen MFT-Eintrag zu passen, wird der gesamte Eintrag auf einmal gelesen.

Ein Eintrag in der FAT enthält die Clusternummer für den ersten Cluster im Verzeichnis. Das Anzeigen einer FAT-Datei erfordert das Durchsuchen der gesamten Dateistruktur.

Beachten Sie beim Vergleich der Geschwindigkeit von Vorgängen, die für Verzeichnisse mit kurzen und langen Dateinamen ausgeführt werden, dass die Geschwindigkeit der Vorgänge für FAT vom Vorgang selbst und der Größe des Verzeichnisses abhängt. Wenn FAT nach einer nicht vorhandenen Datei sucht, durchsucht es das gesamte Verzeichnis – ein Vorgang, der länger dauert als das Durchsuchen der von NTFS verwendeten B-Tree-basierten Struktur. Die durchschnittliche Zeit, die zum Auffinden einer Datei benötigt wird, wird in FAT als Funktion von N/2 und in NTFS als log N ausgedrückt, wobei N die Anzahl der Dateien ist.

Die folgenden Faktoren beeinflussen die Geschwindigkeit, mit der Windows 2000 Dateien lesen und schreiben kann:

  • Dateifragmentierung. Wenn die Datei stark fragmentiert ist, erfordert NTFS normalerweise weniger Festplattenzugriffe als FAT, um alle Fragmente zu finden.
  • Clustergröße. Für beide Dateisysteme hängt die Standard-Clustergröße von der Volume-Größe ab und wird immer als Potenz von 2 ausgedrückt. Adressen in FAT16 sind 16-Bit, in FAT32 – 32-Bit, in NTFS – 64-Bit;
  • Die Standard-Clustergröße in FAT basiert auf der Tatsache, dass die Dateispeicherorttabelle maximal 65.535 Einträge enthalten kann – die Clustergröße ist eine Funktion der Volume-Größe dividiert durch 65.535. Daher beträgt die Standard-Clustergröße für ein FAT-Volume immer größer als die Clustergröße für ein NTFS-Volume derselben Größe. Beachten Sie, dass die größere Clustergröße für FAT-Volumes bedeutet, dass FAT-Volumes weniger fragmentiert sein können;
  • Speicherort kleiner Dateien. Benutzen NTFS-Dateien kleine Dateien sind im MFT-Datensatz enthalten. Die Größe der Datei, die in einen einzelnen MFT-Datensatz passt, hängt von der Anzahl der Attribute in dieser Datei ab.

Maximale Größe von NTFS-Volumes

Theoretisch unterstützt NTFS Volumes mit bis zu 2 32 Clustern. Dennoch gibt es neben dem Fehlen von Festplatten dieser Größe noch weitere Einschränkungen hinsichtlich der maximalen Volumegröße.

Eine solche Einschränkung ist die Partitionstabelle. Industriestandards begrenzen die Größe einer Partitionstabelle auf 2 bis 32 Sektoren. Eine weitere Einschränkung ist die Sektorgröße, die typischerweise 512 Byte beträgt. Da sich die Sektorgröße in Zukunft ändern kann, begrenzt die aktuelle Größe die Größe eines einzelnen Volumes auf 2 TB (2 32 x 512 Byte = 2 41). Daher sind 2 TB die praktische Grenze für physische und logische NTFS-Volumes.

In der Tabelle Abbildung 11 zeigt die wichtigsten Einschränkungen von NTFS.

Steuern des Zugriffs auf Dateien und Verzeichnisse

Bei Verwendung von NTFS-Volumes können Sie Zugriffsrechte auf Dateien und Verzeichnisse festlegen. Diese Berechtigungen geben an, welche Benutzer und Gruppen Zugriff darauf haben und welche Zugriffsebene zulässig ist. Solche Zugriffsrechte gelten sowohl für Benutzer, die auf dem Computer arbeiten, auf dem sich die Dateien befinden, als auch für Benutzer, die über das Netzwerk auf die Dateien zugreifen, wenn sich die Datei in einem Verzeichnis befindet, das für den Fernzugriff geöffnet ist.

Unter NTFS können Sie auch Berechtigungen festlegen Fernzugriff, kombiniert mit Datei- und Verzeichnisberechtigungen. Darüber hinaus schränken Dateiattribute (schreibgeschützt, versteckt, System) auch den Zugriff auf die Datei ein.

Unter FAT16 und FAT32 ist es zwar auch möglich, Dateiattribute zu setzen, diese stellen jedoch keine Dateizugriffsrechte zur Verfügung.

Die in Windows 2000 verwendete NTFS-Version führte eine neue Art von Zugriffsberechtigungen ein – geerbte Berechtigungen. Die Registerkarte Sicherheit enthält die Option Ermöglichen Sie die Weitergabe vererbbarer Berechtigungen des übergeordneten Elements an dieses Dateiobjekt, die standardmäßig aktiv ist. Diese Option reduziert den Zeitaufwand für die Änderung von Zugriffsrechten auf Dateien und Unterverzeichnisse erheblich. Um beispielsweise die Zugriffsrechte auf einen Baum mit Hunderten von Unterverzeichnissen und Dateien zu ändern, aktivieren Sie einfach diese Option – in Windows NT 4 müssen Sie die Attribute jeder einzelnen Datei und jedes einzelnen Unterverzeichnisses ändern.

In Abb. Abbildung 5 zeigt das Dialogfeld „Eigenschaften“ und die Registerkarte „Sicherheit“ (Abschnitt „Erweitert“) – erweiterte Zugriffsrechte für die Datei werden aufgelistet.

Wir möchten Sie daran erinnern, dass Sie bei FAT-Volumes den Zugriff nur auf der Lautstärkeebene steuern können und eine solche Steuerung nur mit Fernzugriff möglich ist.

Komprimieren von Dateien und Verzeichnissen

Windows 2000 unterstützt die Komprimierung von Dateien und Verzeichnissen, die sich auf NTFS-Volumes befinden. Komprimierte Dateien Kann von jeder Windows-Anwendung gelesen und geschrieben werden. Dazu ist kein vorheriges Auspacken erforderlich. Der verwendete Komprimierungsalgorithmus ähnelt dem in DoubleSpace (MS-DOS 6.0) und DriveSpace (MS-DOS 6.22) verwendeten, weist jedoch einen wesentlichen Unterschied auf: Unter MS-DOS wird die gesamte primäre Partition oder das gesamte logische Gerät komprimiert, während unter NTFS You kann einzelne Dateien und Verzeichnisse verpacken.

Der NTFS-Komprimierungsalgorithmus ist für die Unterstützung von Clustern mit einer Größe von bis zu 4 KB ausgelegt. Wenn die Clustergröße mehr als 4 KB beträgt, sind die NTFS-Komprimierungsfunktionen nicht verfügbar.

Selbstheilendes NTFS

Das NTFS-Dateisystem verfügt über die Fähigkeit zur Selbstheilung und kann seine Integrität mithilfe eines Protokolls der durchgeführten Aktionen und einer Reihe anderer Mechanismen aufrechterhalten.

NTFS betrachtet jeden Vorgang, der Systemdateien auf NTFS-Volumes ändert, als Transaktion und speichert Informationen über eine solche Transaktion in einem Protokoll. Eine gestartete Transaktion kann entweder vollständig abgeschlossen (Commit) oder zurückgesetzt (Rollback) werden. Im letzteren Fall kehrt das NTFS-Volume in den Zustand vor Beginn der Transaktion zurück. Um Transaktionen zu verwalten, schreibt NTFS alle in einer Transaktion enthaltenen Vorgänge in eine Protokolldatei, bevor es auf die Festplatte schreibt. Sobald die Transaktion abgeschlossen ist, sind alle Vorgänge abgeschlossen. Daher kann es unter NTFS-Kontrolle keine ausstehenden Vorgänge geben. Bei Festplattenausfällen werden ausstehende Vorgänge einfach abgebrochen.

NTFS führt auch Vorgänge aus, die es ihm ermöglichen, defekte Cluster im laufenden Betrieb zu identifizieren und neue Cluster für Dateivorgänge zuzuweisen. Dieser Mechanismus wird als Cluster-Remapping bezeichnet.

In diesem Test haben wir uns die verschiedenen in Microsoft Windows 2000 unterstützten Dateisysteme angeschaut, deren Design besprochen und ihre Vor- und Nachteile festgestellt. Am vielversprechendsten ist das NTFS-Dateisystem, das über einen großen Funktionsumfang verfügt, der in anderen Dateisystemen nicht verfügbar ist. Die von Microsoft Windows 2000 unterstützte neue Version von NTFS verfügt über einen noch größeren Funktionsumfang und wird daher für die Installation des Betriebssystems Win 2000 empfohlen.

ComputerPress 7"2000

mob_info