heim - Einrichten des Routers
Welches Dateisystem unterstützt Windows? Was sind Windows-Dateisysteme? Ausdehnungen und Bitmaps

FamiliendateisystemWindows.

Das Dateisystem ist ein funktionaler Teil des Betriebssystems, der für den Datenaustausch mit externen Speichergeräten verantwortlich ist. Betriebssysteme Windows Es wird ein für DOS entwickeltes Dateisystem verwendet FETT, bei dem jede DOS-Partition und jedes DOS-Volume über einen Bootsektor verfügt und jede DOS-Partition zwei Kopien der Dateizuordnungstabelle (FAT) enthält. FAT ist eine Matrix, die die Beziehung zwischen Dateien und Ordnern auf einer Partition und ihrem physischen Speicherort auf der Festplatte herstellt. Vor jedem Abschnitt Festplatte Zwei Kopien von FAT befinden sich in Reihe. FAT befindet sich wie Bootsektoren außerhalb des für das Dateisystem sichtbaren Bereichs der Festplatte. Beim Schreiben auf die Festplatte belegen Dateien nicht unbedingt den Speicherplatz, der ihrer Größe entspricht. Normalerweise werden Dateien in Cluster einer bestimmten Größe aufgeteilt, die über die gesamte Partition verteilt sein können. Daher handelt es sich bei der FAT-Tabelle nicht um eine Liste von Dateien und ihren Speicherorten, sondern um eine Liste von Partitionsclustern und deren Inhalten. Am Ende jeder Beschreibung befindet sich ein Link zum nächsten Cluster, der von der Datei belegt wird.

FAT-Tabelleneinträge sind 12-, 16- und 32-Bit-Hexadezimalzahlen, deren Größe vom FDISK-Programm bestimmt und der Wert direkt generiert wird FORMAT-Programm. Alle Disketten und Festplatten Bis zu einer Größe von 16 MB werden in FAT 12-Bit-Elemente verwendet. Hart und Wechseldatenträger, die eine Größe von 16 MB oder mehr haben, verwenden normalerweise 16-Bit-Elemente. IN Windows98 Für Festplatten größer als 512 MB kann ein Dateisystem verwendet werden FAT32 mit 32-Bit-FAT-Tabelleneinträgen. Je kleiner die Cluster einer Partition sind, desto mehr Cluster sind natürlich in dieser Partition enthalten und desto größer ist die FAT-Dateizuordnungstabelle. Dies bedeutet, dass die Suche nach den für den Zugriff auf die Datei erforderlichen Informationen länger dauert. Warum ist es dann notwendig, die Clustergröße zu reduzieren? Tatsache ist, dass die Dateigröße beliebig sein kann. Beim Schreiben auf die Festplatte teilt Windows die Datei jedoch in mehrere Cluster auf. Dadurch wird der letzte Cluster fast nie vollständig gefüllt. Der verbleibende leere Speicherplatz, Slack genannt, existiert, solange sich die Datei auf der Festplatte befindet. Daher hängt die Menge des verschwendeten Speicherplatzes von der Größe des Clusters ab. Neben der Unterstützung großer Partitionen und kleinerer Cluster nutzt FAT32 die Dateizuordnungstabelle selbst auf andere Weise. FAT verwendete zwei identische Tabellen, von denen eine als Haupttabelle diente und die zweite während des normalen Verfahrens ständig aktualisiert und ausgefüllt wurde mögliche Fehler erstes Exemplar. Wenn es unmöglich ist, Daten aus der Haupttabelle zu lesen, verwendet FAT32 eine zweite Kopie, die zur Hauptkopie wird. Der Hauptnachteil von FAT32 ist seine Inkompatibilität mit früheren Dateisystemen sowie dem in Windows NT verwendeten NTFS-System.

Wann Windows NT Bei der ersten Veröffentlichung bot es Unterstützung für drei Dateisysteme. Hierbei handelt es sich um eine Dateizuordnungstabelle (FAT), die Kompatibilität mit MS-DOS, einem Dateisystem, gewährleistet Gesteigerte produktivität(HPFS), das Kompatibilität mit LAN Manager bot, und ein neues Dateisystem namens New Technologies File System ( NTFS). NTFS hatte im Vergleich zu den damals für die meisten verwendeten Versionen eine Reihe von Vorteilen Dateiserver Dateisysteme. Um die Datenintegrität sicherzustellen, verfügt NTFS über ein Transaktionsprotokoll. Dieser Ansatz schließt die Möglichkeit eines Informationsverlusts nicht aus, erhöht jedoch deutlich die Wahrscheinlichkeit, dass ein Zugriff auf das Dateisystem auch dann möglich ist, wenn die Integrität des Serversystems gefährdet ist. Dies ist möglich, indem ein Transaktionsprotokoll verwendet wird, um ausstehende Schreibversuche auf die Festplatte bei nachfolgenden Versuchen zu verfolgen Booten von Windows N.T. Das Transaktionsprotokoll wird auch verwendet, um die Festplatte auf Fehler zu überprüfen, anstatt jede Datei zu überprüfen, wenn eine Dateizuordnungstabelle verwendet wird. Einer der Hauptvorteile von NTFS ist die Sicherheit. NTFS bietet die Möglichkeit, Zugriffskontrolleinträge (ACEs) zu einer Zugriffskontrollliste (ACL) hinzuzufügen. Der ACE enthält einen Gruppen- oder Benutzeridentifikationsnamen und ein Zugriffstoken, mit dem der Zugriff auf ein bestimmtes Verzeichnis oder eine bestimmte Datei eingeschränkt werden kann.

Dieser Zugriff kann die Fähigkeit umfassen, Dateien zu lesen, zu schreiben, zu löschen, auszuführen und sogar zu besitzen. Andererseits ist eine ACL ein Container, der einen oder mehrere ACE-Einträge enthält. Dadurch können Sie den Zugriff einzelner Benutzer oder Benutzergruppen auf bestimmte Verzeichnisse oder Dateien im Netzwerk beschränken. Darüber hinaus unterstützt NTFS die Arbeit mit langen Namen, die bis zu 255 Zeichen lang sind und Groß- und Kleinbuchstaben in beliebiger Reihenfolge enthalten. Eines der Hauptmerkmale von NTFS ist die automatische Erstellung äquivalenter Namen, die mit MS-DOS kompatibel sind. NTFS verfügt außerdem über eine Komprimierungsfunktion, die erstmals in NT-Version 3.51 verfügbar war. Es bietet die Möglichkeit, jede Datei, jedes Verzeichnis oder jedes NTFS-Laufwerk zu komprimieren. Im Gegensatz zu MS-DOS-Komprimierungsprogrammen, die eine virtuelle Festplatte erstellen, die wie eine versteckte Datei aussieht und alle Daten auf dieser Festplatte komprimiert, verwendet Windows NT eine zusätzliche Ebene des Dateisubsystems, um die erforderlichen Dateien zu komprimieren und zu dekomprimieren, ohne sie zu erstellen virtuelle Festplatte. Dies ist nützlich, wenn entweder ein bestimmter Teil der Festplatte (z. B. ein Benutzerverzeichnis) oder Dateien eines bestimmten Typs (z. B. Grafikdateien) komprimiert werden. Der einzige Nachteil der NTFS-Komprimierung ist die niedrige Komprimierungsstufe im Vergleich zu MS-DOS-Komprimierungsschemata. Aber NTFS ist anders hohe Zuverlässigkeit und Produktivität.

Warum startet ein Smartphone möglicherweise keine Programme von einer Speicherkarte? Wie unterscheidet sich ext4 grundlegend von ext3? Warum hält ein Flash-Laufwerk länger, wenn Sie es in NTFS statt in FAT formatieren? Was ist das Hauptproblem bei F2FS? Die Antworten liegen in den Strukturmerkmalen von Dateisystemen. Wir werden über sie reden.

Einführung

Dateisysteme Bestimmen Sie, wie Daten gespeichert werden. Sie bestimmen, auf welche Einschränkungen der Benutzer stößt, wie schnell Lese- und Schreibvorgänge erfolgen und wie lange das Laufwerk ohne Ausfälle läuft. Dies gilt insbesondere für preisgünstige SSDs und ihre jüngeren Brüder – Flash-Laufwerke. Wenn Sie diese Funktionen kennen, können Sie jedes System optimal nutzen und seine Nutzung für bestimmte Aufgaben optimieren.

Sie müssen den Typ und die Parameter des Dateisystems jedes Mal auswählen, wenn Sie etwas nicht Triviales tun müssen. Sie möchten beispielsweise die häufigsten Dateivorgänge beschleunigen. Auf Dateisystemebene kann dies erreicht werden verschiedene Wege: Indizierung wird bereitgestellt schnelle Suche, und die Vorreservierung freier Blöcke erleichtert das Umschreiben häufig wechselnder Dateien. Vorläufige Datenoptimierung in Arbeitsspeicher reduziert die Anzahl der erforderlichen E/A-Vorgänge.

Eigenschaften moderner Dateisysteme wie Lazy Writing, Deduplizierung und andere fortschrittliche Algorithmen tragen dazu bei, den Zeitraum des störungsfreien Betriebs zu verlängern. Sie sind vor allem für günstige SSDs mit TLC-Speicherchips, Flash-Laufwerke und Speicherkarten relevant.

Es gibt separate Optimierungen für verschiedene Ebenen von Festplatten-Arrays: Beispielsweise kann das Dateisystem eine vereinfachte Volume-Spiegelung, sofortige Snapshots oder dynamische Skalierung unterstützen, ohne das Volume offline zu schalten.

Flugschreiber

Benutzer arbeiten in der Regel mit dem Dateisystem, das das Betriebssystem standardmäßig anbietet. Sie erstellen selten neue Festplattenpartitionen und denken noch seltener über deren Einstellungen nach – sie verwenden einfach die empfohlenen Parameter oder kaufen sogar vorformatierte Medien.

Für Windows-Fans ist alles einfach: NTFS auf allen Festplattenpartitionen und FAT32 (oder dasselbe NTFS) auf Flash-Laufwerken. Wenn es ein NAS gibt und dieses ein anderes Dateisystem verwendet, bleibt es für die meisten außerhalb der Wahrnehmung. Sie stellen einfach über das Netzwerk eine Verbindung her und laden Dateien herunter, als ob sie von einer Blackbox stammen würden.

Bei mobilen Geräten mit Android ist ext4 am häufigsten im internen Speicher und FAT32 auf microSD-Karten zu finden. Yabloko ist es völlig egal, welche Art von Dateisystem sie haben: HFS+, HFSX, APFS, WTFS... für sie gibt es nur schöne Ordner- und Dateisymbole, die von den besten Designern gezeichnet wurden. Linux-Benutzer haben die größte Auswahl, aber Sie können sowohl in Windows als auch in macOS Unterstützung für nicht-native Dateisysteme hinzufügen – dazu später mehr.

Gemeinsame Wurzeln

Über hundert verschiedene Dateisysteme wurden erstellt, aber etwas mehr als ein Dutzend kann als aktuell angesehen werden. Obwohl sie alle für ihre eigenen spezifischen Anwendungen entwickelt wurden, waren viele letztendlich auf konzeptioneller Ebene miteinander verwandt. Sie sind ähnlich, weil sie dieselbe Art von (Meta-)Datendarstellungsstruktur verwenden – B-Bäume („Bi-Bäume“).

Wie jedes hierarchische System beginnt ein B-Baum mit einem Stammdatensatz und verzweigt sich dann zu Blattelementen – einzelnen Datensätzen von Dateien und ihren Attributen oder „Blättern“. Der Hauptzweck der Schaffung einer solchen logischen Struktur bestand darin, die Suche nach Dateisystemobjekten in großen dynamischen Arrays zu beschleunigen Festplatte mit einer Kapazität von mehreren Terabyte oder noch beeindruckendere RAID-Arrays.

B-Bäume erfordern weitaus weniger Festplattenzugriffe als andere Arten ausgeglichener Bäume, um dieselben Vorgänge auszuführen. Dies wird dadurch erreicht, dass die endgültigen Objekte in B-Bäumen hierarchisch auf derselben Höhe angeordnet sind und die Geschwindigkeit aller Operationen genau proportional zur Höhe des Baums ist.

Wie andere ausgeglichene Bäume haben B-Bäume gleiche Weglängen von der Wurzel bis zu jedem Blatt. Anstatt nach oben zu wachsen, verzweigen sie sich mehr und werden breiter: Alle Verzweigungspunkte in einem B-Baum speichern viele Verweise auf untergeordnete Objekte, sodass sie bei weniger Aufrufen leicht zu finden sind. Eine große Anzahl von Zeigern reduziert die Anzahl der zeitaufwändigsten Festplattenoperationen – die Kopfpositionierung beim Lesen beliebiger Blöcke.

Das Konzept der B-Bäume wurde bereits in den siebziger Jahren formuliert und seitdem mehrfach weiterentwickelt. In der einen oder anderen Form ist es in NTFS, BFS, XFS, JFS, ReiserFS und vielen DBMS implementiert. Sie alle sind im Hinblick auf die Grundprinzipien der Datenorganisation verwandt. Die Unterschiede betreffen oft sehr wichtige Details. Verwandte Dateisysteme haben auch einen gemeinsamen Nachteil: Sie wurden bereits vor dem Aufkommen von SSDs speziell für die Arbeit mit Festplatten entwickelt.

Flash-Speicher als Motor des Fortschritts

Solid-State-Laufwerke ersetzen nach und nach Festplattenlaufwerke, sind jedoch vorerst gezwungen, Dateisysteme zu verwenden, die ihnen fremd sind und durch Vererbung weitergegeben werden. Sie basieren auf Flash-Speicher-Arrays, deren Funktionsprinzip sich von denen von Festplattengeräten unterscheidet. Insbesondere muss der Flash-Speicher vor dem Beschreiben gelöscht werden, ein Vorgang, den NAND-Chips nicht auf der Ebene einzelner Zellen durchführen können. Dies ist nur für große Blöcke vollständig möglich.

Diese Einschränkung ist auf die Tatsache zurückzuführen, dass im NAND-Speicher alle Zellen zu Blöcken zusammengefasst sind, von denen jede nur eine hat allgemeine Verbindung an den Steuerbus. Wir werden nicht auf Details der Seitenorganisation eingehen und die vollständige Hierarchie beschreiben. Wichtig sind das Prinzip der Gruppenoperationen mit Zellen und die Tatsache, dass Flash-Speicherblöcke in der Regel größer sind als die adressierten Blöcke in jedem Dateisystem. Daher müssen alle Adressen und Befehle für Laufwerke mit NAND-Flash über die FTL-Abstraktionsschicht (Flash Translation Layer) übersetzt werden.

Kompatibilität mit der Logik von Festplattengeräten und Unterstützung für Befehle ihrer nativen Schnittstellen bieten Flash-Speichercontroller. Normalerweise ist FTL in deren Firmware implementiert, kann aber (teilweise) auf dem Host ausgeführt werden – schreibt beispielsweise die Firma Plextor SSD-Treiber, wodurch die Aufnahme beschleunigt wird.

Auf FTL kann man nicht verzichten, denn schon das Schreiben eines Bits in eine bestimmte Zelle löst eine ganze Reihe von Operationen aus: Der Controller findet den Block, der die gewünschte Zelle enthält; Der Block wird vollständig gelesen, in den Cache oder in den freien Speicherplatz geschrieben, dann vollständig gelöscht und anschließend mit den erforderlichen Änderungen neu geschrieben.

Diese Vorgehensweise erinnert an den Alltag in der Armee: Um einem Soldaten einen Befehl zu erteilen, stellt der Sergeant eine Generalformation auf, ruft den armen Kerl aus der Formation und befiehlt den übrigen, sich zu zerstreuen. Im heute seltenen NOR-Speicher war die Organisation eine Spezialeinheit: Jede Zelle wurde unabhängig gesteuert (jeder Transistor hatte einen individuellen Kontakt).

Die Aufgaben für Controller nehmen zu, da mit jeder Generation von Flash-Speichern der technische Prozess seiner Herstellung abnimmt, um die Dichte zu erhöhen und die Kosten für die Datenspeicherung zu senken. Mit dem technologischen Standard sinkt auch die geschätzte Lebensdauer von Chips.

Module mit einstufigen SLC-Zellen hatten eine deklarierte Ressource von 100.000 Rewrite-Zyklen und sogar mehr. Viele davon funktionieren noch in alten Flash-Laufwerken und CF-Karten. Für MLC der Unternehmensklasse (eMLC) wurde die Ressource im Bereich von 10.000 bis 20.000 angegeben, während sie für normales MLC der Verbraucherklasse auf 3.000 bis 5.000 geschätzt wird. Speicher dieser Art wird aktiv durch noch billigere TLCs verdrängt, deren Ressourcen kaum tausend Zyklen erreichen. Um die Lebensdauer des Flash-Speichers auf einem akzeptablen Niveau zu halten, sind Software-Tricks erforderlich, und neue Dateisysteme gehören dazu.

Zunächst gingen die Hersteller davon aus, dass das Dateisystem unwichtig sei. Der Controller selbst muss ein kurzlebiges Array von Speicherzellen jeglicher Art bedienen und die Last optimal zwischen ihnen verteilen. Für den Dateisystemtreiber simuliert er eine normale Festplatte und führt selbst Low-Level-Optimierungen bei jedem Zugriff durch. In der Praxis jedoch Optimierung verschiedene Geräte variiert von magisch bis fiktiv.

In Unternehmens-SSDs ist der integrierte Controller vorhanden kleiner Computer. Es verfügt über einen riesigen Speicherpuffer (ein halbes Gigabyte oder mehr) und unterstützt viele Dateneffizienztechniken, um unnötige Neuschreibzyklen zu vermeiden. Der Chip organisiert alle Blöcke im Cache, führt verzögerte Schreibvorgänge durch, führt eine Deduplizierung im laufenden Betrieb durch, reserviert einige Blöcke und löscht andere im Hintergrund. All diese Magie geschieht völlig unbemerkt vom Betriebssystem, den Programmen und dem Benutzer. Bei einer solchen SSD spielt es eigentlich keine Rolle, welches Dateisystem verwendet wird. Interne Optimierungen haben einen viel größeren Einfluss auf Leistung und Ressourcen als externe.

Budget-SSDs (und noch mehr Flash-Laufwerke) sind mit deutlich weniger intelligenten Controllern ausgestattet. Der darin enthaltene Cache ist begrenzt oder fehlt, und fortschrittliche Servertechnologien werden überhaupt nicht verwendet. Die Controller in Speicherkarten sind so primitiv, dass oft behauptet wird, dass sie überhaupt nicht existieren. Daher bleiben für günstige Geräte mit Flash-Speicher externe Methoden des Lastausgleichs relevant – vor allem unter Verwendung spezialisierter Dateisysteme.

Von JFFS bis F2FS

Einer der ersten Versuche, ein Dateisystem zu schreiben, das die Prinzipien der Organisation von Flash-Speicher berücksichtigt, war JFFS – Journaling Flash Dateisystem. Ursprünglich zielte diese Entwicklung des schwedischen Unternehmens Axis Communications darauf ab, die Speichereffizienz zu steigern Netzwerkgeräte, das Axis in den Neunzigerjahren produzierte. Die erste Version von JFFS unterstützte nur NOR-Speicher, aber bereits in der zweiten Version freundete es sich mit NAND an.

Derzeit ist JFFS2 nur begrenzt nutzbar. Im Grunde wird es immer noch verwendet Linux-Distributionen für eingebettete Systeme. Man findet es in Routern, IP-Kameras, NAS und anderen Stammgästen des Internets der Dinge. Im Allgemeinen überall dort, wo eine geringe Menge an zuverlässigem Speicher benötigt wird.

Ein weiterer Versuch, JFFS2 zu entwickeln, war LogFS, das Inodes in einer separaten Datei speicherte. Die Autoren dieser Idee sind Jörn Engel, ein Mitarbeiter der deutschen Abteilung von IBM, und Robert Mertens, ein Lehrer an der Universität Osnabrück. Quelle LogFS ist auf GitHub verfügbar. Gemessen an der Tatsache, dass die letzte Änderung vor vier Jahren vorgenommen wurde, hat LogFS nicht an Popularität gewonnen.

Diese Versuche führten jedoch zur Entstehung eines weiteren spezialisierten Dateisystems – F2FS. Es wurde von der Samsung Corporation entwickelt, auf die ein beträchtlicher Teil des weltweit produzierten Flash-Speichers entfällt. Samsung stellt Chips her Nand Flash für ihre eigenen Geräte und auf Anfrage von anderen Unternehmen und entwickeln auch SSDs mit grundlegend neuen Schnittstellen anstelle der alten Festplattenschnittstellen. Aus Samsungs Sicht war die Schaffung eines speziellen, für Flash-Speicher optimierten Dateisystems eine längst überfällige Notwendigkeit.

Vor vier Jahren, im Jahr 2012, entwickelte Samsung F2FS (Flash Friendly File System). Ihre Idee war gut, aber die Umsetzung erwies sich als grob. Die Hauptaufgabe bei der Erstellung von F2FS war einfach: die Anzahl der Vorgänge zum Umschreiben von Zellen zu reduzieren und die Last so gleichmäßig wie möglich auf sie zu verteilen. Dies erfordert die gleichzeitige Ausführung von Operationen an mehreren Zellen innerhalb desselben Blocks, anstatt sie einzeln zu erzwingen. Das bedeutet, dass es nicht darum geht, bestehende Blöcke bei der ersten Anforderung des Betriebssystems sofort neu zu schreiben, sondern Befehle und Daten zwischenzuspeichern, neue Blöcke zum freien Speicherplatz hinzuzufügen und Zellen verzögert zu löschen.

Heute ist die F2FS-Unterstützung bereits offiziell in Linux (und damit in Android) implementiert, bietet in der Praxis jedoch noch keine besonderen Vorteile. Das Hauptmerkmal dieses Dateisystems (Lazy Rewrite) führte zu voreiligen Rückschlüssen auf seine Wirksamkeit. Der alte Caching-Trick täuschte sogar frühe Benchmark-Versionen, bei denen F2FS einen imaginären Vorteil nicht um ein paar Prozent (wie erwartet) oder sogar um ein Vielfaches, sondern um Größenordnungen demonstrierte. Der F2FS-Treiber meldete lediglich den Abschluss eines Vorgangs, den der Controller gerade geplant hatte. Wenn der tatsächliche Leistungsgewinn für F2FS jedoch gering ist, ist der Verschleiß der Zellen auf jeden Fall geringer als bei Verwendung des gleichen ext4. Die Optimierungen, die ein billiger Controller nicht durchführen kann, werden auf der Ebene des Dateisystems selbst durchgeführt.

Ausdehnungen und Bitmaps

Derzeit gilt F2FS für Geeks als exotisch. Sogar in Ihrem eigenen Samsung-Smartphones ext4 gilt weiterhin. Viele halten es für eine Weiterentwicklung von ext3, aber das stimmt nicht ganz. Hier geht es eher um eine Revolution als darum, die 2-TB-Grenze pro Datei zu durchbrechen und einfach andere quantitative Indikatoren zu erhöhen.

Bei großen Computern und kleinen Dateien war die Adressierung kein Problem. Jeder Datei wurde eine bestimmte Anzahl von Blöcken zugewiesen, deren Adressen in die Korrespondenztabelle eingetragen wurden. So funktionierte das ext3-Dateisystem, das bis heute in Betrieb ist. Aber in ext4 erschien eine grundlegend andere Adressierungsmethode – Extents.

Extents können als Erweiterungen von Inodes als diskrete Sätze von Blöcken betrachtet werden, die vollständig als zusammenhängende Sequenzen adressiert werden. Ein Extent kann eine ganze mittelgroße Datei enthalten, bei großen Dateien reicht es jedoch aus, ein Dutzend oder zwei Extents zuzuweisen. Dies ist wesentlich effizienter als die Adressierung von Hunderttausenden kleinen Blöcken zu je vier Kilobyte.

Auch der Aufnahmemechanismus selbst hat sich in ext4 geändert. Jetzt werden Blöcke sofort in einer Anfrage verteilt. Und zwar nicht im Voraus, sondern unmittelbar vor dem Schreiben von Daten auf die Festplatte. Durch die verzögerte Zuweisung mehrerer Blöcke können Sie unnötige Vorgänge vermeiden, die sich ext3 zuschulden kommen ließ: Dabei wurden Blöcke für eine neue Datei sofort zugewiesen, auch wenn sie vollständig in den Cache passte und als temporär gelöscht werden sollte.


Fettreduzierte Diät

Neben balancierten Bäumen und deren Modifikationen gibt es noch weitere beliebte logische Strukturen. Es gibt Dateisysteme mit einer grundlegend anderen Art der Organisation – zum Beispiel linear. Sie verwenden wahrscheinlich mindestens eines davon häufig.

Geheimnis

Erraten Sie das Rätsel: Mit zwölf begann sie an Gewicht zuzunehmen, mit sechzehn war sie ein dummer Fettleibiger, und mit zweiunddreißig wurde sie dick und blieb ein Einfaltspinsel. Wer ist sie?

Das ist richtig, dies ist eine Geschichte über das FAT-Dateisystem. Kompatibilitätsanforderungen bescherten ihr eine schlechte Vererbung. Auf Disketten war es 12-Bit Festplatte- Zuerst war es 16-Bit, aber mittlerweile ist es als 32-Bit-Version angekommen. In jeder nachfolgenden Version erhöhte sich die Anzahl der adressierbaren Blöcke, im Wesentlichen änderte sich jedoch nichts.

Dateidatei ist immer noch beliebt FAT-System 32 erschien vor zwanzig Jahren. Heutzutage ist es immer noch primitiv und unterstützt keine Zugriffskontrolllisten, Festplattenkontingente, Hintergrundkomprimierung oder andere moderne Technologien Optimierung der Datenverarbeitung.

Warum wird FAT32 heutzutage benötigt? Alles dient weiterhin ausschließlich der Sicherstellung der Kompatibilität. Hersteller gehen zu Recht davon aus, dass eine FAT32-Partition von jedem Betriebssystem gelesen werden kann. Deshalb erstellen sie es auf externen Festplatten, USB-Flash-Speichern und Speicherkarten.

So geben Sie den Flash-Speicher Ihres Smartphones frei

In Smartphones verwendete microSD(HC)-Karten sind standardmäßig in FAT32 formatiert. Dies ist das Haupthindernis für die Installation von Anwendungen auf ihnen und die Übertragung von Daten aus dem internen Speicher. Um dies zu umgehen, müssen Sie mit ext3 oder ext4 eine Partition auf der Karte erstellen. Alle Dateiattribute (einschließlich Eigentümer- und Zugriffsrechte) können darauf übertragen werden, sodass jede Anwendung so funktionieren kann, als ob sie aus dem internen Speicher gestartet würde.

Windows weiß nicht, wie man mehr als eine Partition auf Flash-Laufwerken erstellt, aber dafür können Sie Linux (zumindest in einer virtuellen Maschine) oder ein erweitertes Dienstprogramm zum Arbeiten mit logischer Partitionierung ausführen – zum Beispiel MiniTool Partition Wizard Free. Nachdem Sie eine zusätzliche primäre Partition mit ext3/ext4 auf der Karte entdeckt haben, bieten die Anwendung Link2SD und ähnliche Anwendungen viel mehr Optionen als im Fall einer einzelnen FAT32-Partition.


Als weiteres Argument für die Wahl von FAT32 wird häufig das fehlende Journaling angeführt, was schnellere Schreibvorgänge und einen geringeren Verschleiß der NAND-Flash-Speicherzellen bedeutet. In der Praxis führt die Verwendung von FAT32 zum Gegenteil und wirft viele weitere Probleme auf.

Flash-Laufwerke und Speicherkarten gehen schnell kaputt, da jede Änderung in FAT32 zum Überschreiben derselben Sektoren führt, in denen sich zwei Ketten von Dateitabellen befinden. Ich habe die gesamte Webseite gespeichert und sie wurde hundertmal überschrieben – mit jedem Hinzufügen eines weiteren kleinen GIFs zum Flash-Laufwerk. Haben Sie tragbare Software auf den Markt gebracht? Es erstellt temporäre Dateien und ändert diese während der Ausführung ständig. Daher ist es viel besser, NTFS auf Flash-Laufwerken mit seiner ausfallsicheren $MFT-Tabelle zu verwenden. Kleine Dateien können direkt in der Hauptdateitabelle gespeichert werden und ihre Erweiterungen und Kopien werden in verschiedene Bereiche des Flash-Speichers geschrieben. Darüber hinaus beschleunigt die NTFS-Indizierung die Suche.

DIE INFO

Für FAT32 und NTFS gibt es keine theoretischen Einschränkungen hinsichtlich der Verschachtelungsebene, in der Praxis sind sie jedoch gleich: In einem Verzeichnis der ersten Ebene können nur 7707 Unterverzeichnisse erstellt werden. Wer gerne Matroschka-Puppen spielt, wird es zu schätzen wissen.

Ein weiteres Problem, mit dem die meisten Benutzer konfrontiert sind, besteht darin, dass es unmöglich ist, eine Datei mit mehr als 4 GB auf eine FAT32-Partition zu schreiben. Der Grund dafür ist, dass in FAT32 die Dateigröße in der Dateizuordnungstabelle durch 32 Bit beschrieben wird und 2^32 (minus eins, um genau zu sein) genau vier Gigabyte entspricht. Es stellt sich heraus, dass weder ein Film in normaler Qualität noch ein DVD-Image auf ein frisch gekauftes Flash-Laufwerk geschrieben werden kann.

Kopieren große Dateien Es ist nicht so schlimm: Wenn Sie dies versuchen, ist der Fehler zumindest sofort sichtbar. In anderen Situationen wirkt FAT32 wie eine Zeitbombe. Sie haben beispielsweise tragbare Software auf ein Flash-Laufwerk kopiert und können sie zunächst problemlos verwenden. Nach längerer Zeit wird die Datenbank eines der Programme (z. B. Buchhaltung oder E-Mail) aufgebläht und ... die Aktualisierung wird einfach eingestellt. Die Datei kann nicht überschrieben werden, da sie die 4-GB-Grenze erreicht hat.

Ein weniger offensichtliches Problem besteht darin, dass in FAT32 das Erstellungsdatum einer Datei oder eines Verzeichnisses auf zwei Sekunden genau angegeben werden kann. Für viele kryptografische Anwendungen, die Zeitstempel verwenden, ist dies nicht ausreichend. Die geringe Genauigkeit des Datumsattributs ist ein weiterer Grund, warum FAT32 aus Sicherheitsgründen nicht als gültiges Dateisystem gilt. Allerdings lassen sich seine Schwächen auch für eigene Zwecke nutzen. Wenn Sie beispielsweise Dateien von einer NTFS-Partition auf ein FAT32-Volume kopieren, werden alle Metadaten sowie geerbte und speziell festgelegte Berechtigungen gelöscht. FAT unterstützt sie einfach nicht.

exFAT

Im Gegensatz zu FAT12/16/32 wurde exFAT speziell für USB-Flash-Speicher und große (≥ 32 GB) Speicherkarten entwickelt. Extended FAT beseitigt den oben genannten Nachteil von FAT32 – das Überschreiben derselben Sektoren bei jeder Änderung. Als 64-Bit-System gibt es praktisch keine nennenswerten Beschränkungen hinsichtlich der Größe einer einzelnen Datei. Theoretisch kann es eine Länge von 2^64 Bytes (16 EB) haben, und Karten dieser Größe werden nicht so schnell erscheinen.

Ein weiterer grundlegender Unterschied zwischen exFAT ist die Unterstützung von Zugriffskontrolllisten (ACLs). Das ist nicht mehr derselbe Einfaltspinsel aus den Neunzigerjahren, aber die Geschlossenheit des Formats erschwert die Implementierung von exFAT. Die ExFAT-Unterstützung ist vollständig und legal nur in Windows (ab XP SP2) und OS X (ab 10.6.5) implementiert. Unter Linux und *BSD wird es entweder mit Einschränkungen oder nicht ganz legal unterstützt. Microsoft benötigt für die Nutzung von exFAT eine Lizenz, und in diesem Bereich gibt es viele rechtliche Kontroversen.

Btrfs

Ein weiterer prominenter Vertreter von Dateisystemen auf Basis von B-Bäumen heißt Btrfs. Dieses FS erschien 2007 und wurde ursprünglich in Oracle mit dem Ziel erstellt, mit SSDs und RAIDs zu arbeiten. Es kann beispielsweise dynamisch skaliert werden: Erstellen neuer Inodes direkt auf dem laufenden System oder Aufteilen eines Volumes in Subvolumes, ohne diesen freien Speicherplatz zuzuweisen.

Der in Btrfs implementierte Copy-on-Write-Mechanismus und die vollständige Integration mit dem Device-Mapper-Kernelmodul ermöglichen es Ihnen, nahezu sofortige Snapshots über virtuelle Blockgeräte zu erstellen. Vorkomprimierung (zlib oder lzo) und Deduplizierung beschleunigen grundlegende Vorgänge und verlängern gleichzeitig die Lebensdauer des Flash-Speichers. Dies macht sich besonders beim Arbeiten mit Datenbanken (2-4-fache Komprimierung wird erreicht) und kleinen Dateien (sie werden in geordneten großen Blöcken geschrieben und können direkt in „Blättern“ gespeichert werden) bemerkbar.

Btrfs unterstützt außerdem den vollständigen Protokollierungsmodus (Daten und Metadaten), die Volumenprüfung ohne Aushängen und viele andere moderne Funktionen. Der Btrfs-Code wird unter der GPL-Lizenz veröffentlicht. Dieses Dateisystem wird seit der Kernel-Version 4.3.1 unter Linux als stabil unterstützt.

Logbücher

Fast alle mehr oder weniger modernen Dateisysteme (ext3/ext4, NTFS, HFSX, Btrfs und andere) gehören zur allgemeinen Gruppe der Journalsysteme, da sie die vorgenommenen Änderungen in einem separaten Protokoll (Journal) aufzeichnen und mit diesem vergleichen der Fall eines Fehlers während des Festplattenbetriebs. Allerdings unterscheiden sich die Protokollierungsgranularität und die Fehlertoleranz dieser Dateisysteme.

Ext3 unterstützt drei Protokollierungsmodi: mit Rückmeldung, organisierte und vollständige Protokollierung. Im ersten Modus werden nur allgemeine Änderungen (Metadaten) aufgezeichnet, die asynchron zu Änderungen in den Daten selbst durchgeführt werden. Im zweiten Modus erfolgt die gleiche Metadatenaufzeichnung, jedoch ausschließlich vor der Durchführung jeglicher Änderungen. Der dritte Modus entspricht der vollständigen Protokollierung (Änderungen sowohl in Metadaten als auch in den Dateien selbst).

Nur die letzte Option gewährleistet die Datenintegrität. Die verbleibenden beiden beschleunigen lediglich die Erkennung von Fehlern während des Scans und garantieren die Wiederherstellung der Integrität des Dateisystems selbst, nicht jedoch des Inhalts der Dateien.

Das Journaling in NTFS ähnelt dem zweiten Protokollierungsmodus in ext3. Im Protokoll werden nur Änderungen der Metadaten aufgezeichnet, und die Daten selbst können im Falle eines Fehlers verloren gehen. Diese Protokollierungsmethode in NTFS war nicht als Möglichkeit gedacht, maximale Zuverlässigkeit zu erreichen, sondern lediglich als Kompromiss zwischen Leistung und Fehlertoleranz. Aus diesem Grund ziehen Leute, die es gewohnt sind, mit vollständig protokollierten Systemen zu arbeiten, NTFS-Pseudo-Journaling in Betracht.

Der in NTFS implementierte Ansatz ist in mancher Hinsicht sogar besser als der Standard in ext3. NTFS erstellt außerdem regelmäßig Prüfpunkte, um sicherzustellen, dass alle zuvor verzögerten Festplattenvorgänge abgeschlossen werden. Prüfpunkte haben nichts mit Wiederherstellungspunkten in \System Volume Information\ zu tun. Dies sind lediglich Serviceprotokolleinträge.

Die Praxis zeigt, dass ein solches partielles NTFS-Journaling in den meisten Fällen für einen störungsfreien Betrieb ausreicht. Denn selbst bei einem plötzlichen Stromausfall verlieren Festplattengeräte nicht sofort an Strom. Das Netzteil und zahlreiche Kondensatoren in den Laufwerken selbst stellen nur die minimale Energiemenge bereit, die ausreicht, um den aktuellen Schreibvorgang abzuschließen. Bei modernen SSDs mit ihrer Geschwindigkeit und Effizienz reicht in der Regel die gleiche Energiemenge aus, um anstehende Vorgänge auszuführen. Der Versuch, zur vollständigen Protokollierung zu wechseln, würde die Geschwindigkeit der meisten Vorgänge erheblich verringern.

Anschließen von Dateien von Drittanbietern in Windows

Die Verwendung von Dateisystemen wird durch ihre Unterstützung auf Betriebssystemebene eingeschränkt. Windows versteht beispielsweise ext2/3/4 und HFS+ nicht, aber manchmal ist es notwendig, sie zu verwenden. Dies kann durch Hinzufügen des entsprechenden Treibers erfolgen.

WARNUNG

Die meisten Treiber und Plugins zur Unterstützung von Dateisystemen von Drittanbietern haben ihre Grenzen und funktionieren nicht immer stabil. Sie können mit anderen Treibern, Antiviren- und Virtualisierungsprogrammen in Konflikt geraten.

Ein offener Treiber zum Lesen und Schreiben von ext2/3-Partitionen mit teilweiser Unterstützung für ext4. Die neueste Version unterstützt Extents und Partitionen bis zu 16 TB. LVM, Zugriffskontrolllisten und erweiterte Attribute werden nicht unterstützt.


Existiert kostenloses Plugin Für Totaler Kommandant. Unterstützt das Lesen von ext2/3/4-Partitionen.


coLinux ist eine offene und kostenlose Portierung des Linux-Kernels. Zusammen mit einem 32-Bit-Treiber ermöglicht es Ihnen, Linux darauf auszuführen Windows-Umgebung von 2000 auf 7 ohne Verwendung von Virtualisierungstechnologien. Unterstützt nur 32-Bit-Versionen. Die Entwicklung einer 64-Bit-Modifikation wurde abgebrochen. coLinux ermöglicht unter anderem das Organisieren von Windows-Zugriff zu ext2/3/4-Partitionen. Die Unterstützung des Projekts wurde 2014 eingestellt.

Windows 10 verfügt möglicherweise bereits über eine integrierte Unterstützung für bestimmte Funktionen Linux-Datei Systeme, es ist nur versteckt. Diese Gedanken werden durch den Kernel-Level-Treiber Lxcore.sys und den LxssManager-Dienst nahegelegt, der vom Prozess Svchost.exe als Bibliothek geladen wird. Weitere Informationen hierzu finden Sie in Alex Ionescus Bericht „The Linux Kernel Hidden Inside Windows 10“, den er auf der Black Hat 2016 hielt.


ExtFS für Windows ist ein kostenpflichtiger Treiber von Paragon. Es läuft unter Windows 7 bis 10 und unterstützt Lese-/Schreibzugriff auf ext2/3/4-Volumes. Bietet nahezu vollständige Unterstützung für ext4 unter Windows.

HFS+ für Windows 10 ist ein weiterer proprietärer Treiber von Paragon Software. Trotz des Namens funktioniert es in allem Windows-Versionen beginnend mit XP. Bietet vollen Zugriff auf HFS+/HFSX-Dateisysteme auf Festplatten mit beliebigem Layout (MBR/GPT).

WinBtrfs ist eine frühe Entwicklung des Btrfs-Treibers für Windows. Bereits in der Version 0.6 unterstützt es sowohl lesenden als auch schreibenden Zugriff auf Btrfs-Volumes. Es kann harte und symbolische Links verarbeiten, unterstützt alternative Datenströme, ACLs, zwei Arten der Komprimierung und den asynchronen Lese-/Schreibmodus. Während WinBtrfs nicht weiß, wie man mkfs.btrfs, btrfs-balance und andere Dienstprogramme zur Verwaltung dieses Dateisystems verwendet.

Fähigkeiten und Einschränkungen von Dateisystemen: Übersichtstabelle

Dateisystem Maximale Volumegröße Begrenzen Sie die Größe einer Datei Länge des richtigen Dateinamens Länge des vollständigen Dateinamens (einschließlich des Pfads vom Stammverzeichnis) Begrenzen Sie die Anzahl der Dateien und/oder Verzeichnisse Genauigkeit der Datei-/Verzeichnisdatumsanzeige Zugangsrechte Harte Links Symbolische Links Schnappschüsse Datenkomprimierung im Hintergrund Datenverschlüsselung im Hintergrund Großvater-ple-ka-tion von Daten
FAT16 2 GB in 512-Byte-Sektoren oder 4 GB in 64-KB-Clustern 2 GB 255 Byte mit LFN - - - - - - - - - -
FAT32 8 TB Sektoren mit jeweils 2 KB 4 GB (2^32 - 1 Byte) 255 Byte mit LFN bis zu 32 Unterverzeichnisse mit CDS 65460 10 ms (erstellen) / 2 s (ändern) Nein Nein Nein Nein Nein Nein Nein
exFAT ≈ 128 PB (2^32-1 Cluster von 2^25-1 Bytes) theoretisch / 512 TB aufgrund von Einschränkungen Dritter 16 EB (2^64 - 1 Byte) 2796202 im Katalog 10 ms ACL Nein Nein Nein Nein Nein Nein
NTFS 256 TB in 64-KB-Clustern oder 16 TB in 4-KB-Clustern 16 TB (Win 7) / 256 TB (Win 8) 255 Unicode-Zeichen (UTF-16) 32.760 Unicode-Zeichen, bis zu maximal 255 Zeichen pro Element 2^32-1 100 ns ACL Ja Ja Ja Ja Ja Ja
HFS+ 8 EB (2^63 Byte) 8 EB 255 Unicode-Zeichen (UTF-16) nicht gesondert beschränkt 2^32-1 1 s Unix, ACL Ja Ja Nein Ja Ja Nein
APFS 8 EB (2^63 Byte) 8 EB 255 Unicode-Zeichen (UTF-16) nicht gesondert beschränkt 2^63 1 ns Unix, ACL Ja Ja Ja Ja Ja Ja
Ext3 32 TB (theoretisch) / 16 TB in 4-KB-Clustern (aufgrund von Einschränkungen von e2fs-Programmen) 2 TB (theoretisch) / 16 GB für ältere Programme 255 Unicode-Zeichen (UTF-16) nicht gesondert beschränkt - 1 s Unix, ACL Ja Ja Nein Nein Nein Nein
Ext4 1 EB (theoretisch) / 16 TB in 4-KB-Clustern (aufgrund von Einschränkungen von e2fs-Programmen) 16 TB 255 Unicode-Zeichen (UTF-16) nicht gesondert beschränkt 4 Milliarden 1 ns POSIX Ja Ja Nein Nein Ja Nein
F2FS 16 TB 3,94 TB 255 Byte nicht gesondert beschränkt - 1 ns POSIX, ACL Ja Ja Nein Nein Ja Nein
BTRFS 16 EB (2^64 - 1 Byte) 16 EB 255 ASCII-Zeichen 2^17 Bytes - 1 ns POSIX, ACL Ja Ja Ja Ja Ja Ja

Früher oder später wird ein unerfahrener Computerbenutzer mit einem Konzept wie einem Dateisystem (FS) konfrontiert. Die erste Bekanntschaft mit diesem Begriff erfolgt in der Regel beim Formatieren eines Speichermediums: logische Laufwerke und angeschlossene Medien (Flash-Laufwerke, Speicherkarten, extern hart Scheibe).

Vor der Formatierung werden Sie vom Windows-Betriebssystem aufgefordert, den Dateisystemtyp auf dem Medium, die Clustergröße und die Formatierungsmethode (schnell oder vollständig) auszuwählen. Lassen Sie uns herausfinden, was ein Dateisystem ist und warum es benötigt wird.

Alle Informationen werden auf den Medien in einem Formular aufgezeichnet, das in einer bestimmten Reihenfolge angeordnet sein muss, da das Betriebssystem und die Programme sonst nicht mit den Daten arbeiten können. Diese Reihenfolge wird vom Dateisystem mithilfe bestimmter Algorithmen und Regeln für die Platzierung von Dateien auf dem Medium organisiert.

Wenn ein Programm eine auf der Festplatte gespeicherte Datei benötigt, muss es nicht wissen, wie oder wo sie gespeichert ist. Das Programm muss lediglich den Dateinamen, seine Größe und Attribute kennen, um diese Daten an das Dateisystem zu übertragen, das den Zugriff auf die gewünschte Datei ermöglicht. Beim Schreiben von Daten auf ein Medium passiert das Gleiche: Das Programm überträgt Informationen über die Datei (Name, Größe, Attribute) an das Dateisystem, das sie nach eigenen, spezifischen Regeln speichert.

Um es besser zu verstehen, stellen Sie sich einen Bibliothekar vor, der einem Kunden ein Buch anhand des Titels gibt. Oder umgekehrt: Der Kunde gibt das gelesene Buch an den Bibliothekar zurück, der es wieder einlagert. Der Kunde muss nicht wissen, wo und wie das Buch aufbewahrt wird; dies liegt in der Verantwortung des Mitarbeiters der Einrichtung. Der Bibliothekar kennt die Regeln der bibliothekarischen Katalogisierung und sucht nach diesen Regeln nach der Publikation oder gibt sie zurück, d. h. nimmt seine offiziellen Aufgaben wahr. IN in diesem Beispiel Eine Bibliothek ist ein Speichermedium, ein Bibliothekar ist ein Dateisystem, ein Client ist ein Programm.

Grundlegende Dateisystemfunktionen

Die Hauptfunktionen des Dateisystems sind:

  • Platzierung und Organisation auf einem Datenträger in Form von Dateien;
  • Bestimmen der maximal unterstützten Datenmenge auf dem Speichermedium;
  • Erstellen, Lesen und Löschen von Dateien;
  • Zuweisen und Ändern von Dateiattributen (Größe, Erstellungs- und Änderungszeit, Dateieigentümer und -ersteller, schreibgeschützt, versteckte Datei, temporäre Datei, Archiv, ausführbare Datei, maximale Länge des Dateinamens usw.);
  • Bestimmen der Dateistruktur;
  • Verzeichnisorganisation zur logischen Organisation von Dateien;
  • Dateischutz bei Systemausfall;
  • Schutz von Dateien vor unbefugtem Zugriff und Änderung ihres Inhalts.

Auf einer Festplatte oder einem anderen Medium aufgezeichnete Informationen werden dort auf Basis einer Cluster-Organisation abgelegt. Ein Cluster ist eine Art Zelle einer bestimmten Größe, in die die gesamte Datei oder ein Teil davon passt.

Wenn die Datei Clustergröße hat, belegt sie nur einen Cluster. Wenn die Dateigröße die Zellengröße überschreitet, wird sie in mehreren Clusterzellen platziert. Darüber hinaus befinden sich freie Cluster möglicherweise nicht nebeneinander, sondern können über die physische Oberfläche der Festplatte verstreut sein. Mit diesem System können Sie den Speicherplatz beim Speichern von Dateien optimal nutzen. Die Aufgabe des Dateisystems besteht darin, die Datei beim Schreiben optimal in freie Cluster zu verteilen und beim Lesen wieder zusammenzusetzen und an das Programm bzw. Betriebssystem weiterzugeben.

Arten von Dateisystemen

Im Laufe der Entwicklung von Computern, Speichermedien und Betriebssystemen ist eine Vielzahl von Dateisystemen entstanden und verschwunden. Im Zuge einer solchen evolutionären Auswahl werden heute hauptsächlich die folgenden Arten von Dateisystemen für die Arbeit mit Festplatten und externen Speichergeräten (Flash-Laufwerke, Speicherkarten, externe Festplatten, CDs) verwendet:

  1. FAT32
  2. ISO9660

Die letzten beiden Systeme sind für die Arbeit mit CDs konzipiert. Ext3- und Ext4-Dateisysteme funktionieren mit Betriebssysteme An Linux-basiert. NFS Plus ist ein Dateisystem für OS X-Betriebssysteme, das auf Apple-Computern verwendet wird.

Am weitesten verbreitet sind Dateien NTFS-Systeme und FAT32 und das ist nicht verwunderlich, denn. Sie sind für Windows-Betriebssysteme konzipiert, auf denen die überwiegende Mehrheit der Computer weltweit läuft.

Jetzt wird FAT32 aufgrund seiner größeren Zuverlässigkeit in Bezug auf Datensicherheit und -schutz aktiv durch das fortschrittlichere NTFS-System ersetzt. Außerdem letzte Version Das Windows-Betriebssystem lässt sich einfach nicht installieren, wenn die Festplattenpartition in FAT32 formatiert ist. Das Installationsprogramm fordert Sie auf, die Partition auf NTFS zu formatieren.

Das NTFS-Dateisystem unterstützt Festplatten mit einer Kapazität von Hunderten Terabyte und einer einzelnen Dateigröße von bis zu 16 Terabyte.

Das FAT32-Dateisystem unterstützt Festplatten bis zu 8 Terabyte und eine einzelne Dateigröße bis zu 4 GB. Am häufigsten wird dieser FS auf Flash-Laufwerken und Speicherkarten verwendet. Sie formatieren in FAT32 externe Laufwerke In der Fabrik.

Allerdings ist die Dateigrößenbeschränkung auf 4 GB schon heute ein großer Nachteil, denn... Aufgrund der Verbreitung hochwertiger Videos wird die Dateigröße des Films diese Grenze überschreiten und es ist nicht möglich, ihn auf dem Medium aufzuzeichnen.

Aktie.

Eine der Betriebssystemkomponenten ist das Dateisystem – der Hauptspeicher für System- und Benutzerinformationen. Alle modernen Betriebssysteme arbeiten mit einem oder mehreren Dateisystemen, zum Beispiel FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System). , Internet-Dateisystem.

Ein Dateisystem ist ein Teil des Betriebssystems, dessen Zweck darin besteht, dem Benutzer Folgendes zur Verfügung zu stellen: Benutzerfreundliches Bedienfeld beim Arbeiten mit gespeicherten Daten Externer Speicher, und bereitstellen Teilen Dateien durch mehrere Benutzer und Prozesse.

Im weitesten Sinne umfasst der Begriff „Dateisystem“ Folgendes:

Die Sammlung aller Dateien auf der Festplatte;

Sätze von Datenstrukturen, die zum Verwalten von Dateien verwendet werden, z. B. Dateiverzeichnisse, Dateideskriptoren, Zuordnungstabellen für freien und belegten Speicherplatz;

Komplexes System Software, Implementierung der Dateiverwaltung, insbesondere: Erstellen, Vernichten, Lesen, Schreiben, Benennen, Suchen und andere Vorgänge an Dateien.

Das Dateisystem wird normalerweise sowohl beim Laden des Betriebssystems nach dem Einschalten des Computers als auch während des Betriebs verwendet. Das Dateisystem führt die folgenden Hauptfunktionen aus:

Definiert mögliche Wege Organisieren von Dateien und Dateistruktur auf den Medien;

Implementiert Methoden für den Zugriff auf Dateiinhalte und stellt Tools für die Arbeit mit Dateien und Dateistrukturen bereit. In diesem Fall kann der Zugriff auf Daten vom Dateisystem sowohl nach Name als auch nach Adresse (Anzahl der Sektoren, Oberfläche und Spur des Datenträgers) organisiert werden;

Überwacht den freien Speicherplatz auf Speichermedien.

Wenn ein Anwendungsprogramm auf eine Datei zugreift, hat es keine Ahnung, wo sich die Informationen in einer bestimmten Datei befinden und auf welchem ​​physischen Datenträger (CD, Festplatte oder Flash-Speicher) sie gespeichert sind. Das Programm kennt lediglich den Dateinamen, seine Größe und Attribute. Diese Daten erhält es vom Dateisystemtreiber. Es ist das Dateisystem, das bestimmt, wo und wie die Datei auf ein physisches Medium (z. B. eine Festplatte) geschrieben wird.

Aus Sicht des Betriebssystems besteht die gesamte Festplatte aus einer Reihe von Clustern (Speicherbereichen) mit einer Größe von 512 Byte oder mehr. Dateisystemtreiber organisieren Cluster in Dateien und Verzeichnissen (bei denen es sich eigentlich um Dateien handelt, die eine Liste der Dateien in diesem Verzeichnis enthalten). Dieselben Treiber verfolgen, welche Cluster derzeit verwendet werden, welche frei sind und welche als fehlerhaft markiert sind. Um klar zu verstehen, wie Daten auf Festplatten gespeichert werden und wie das Betriebssystem darauf zugreift, ist es notwendig, zumindest allgemein die logische Struktur der Festplatte zu verstehen.


3.1.5 Logische Struktur der Festplatte

Damit ein Computer Informationen speichern, lesen und schreiben kann, muss die Festplatte zunächst partitioniert werden. Mit entsprechenden Programmen werden darauf Partitionen erstellt – man spricht hier von „Partitionieren der Festplatte“. Ohne diese Partitionierung ist es nicht möglich, das Betriebssystem auf der Festplatte zu installieren (Windows XP und 2000 können zwar auf einer unpartitionierten Festplatte installiert werden, sie führen diese Partitionierung jedoch während des Installationsvorgangs selbst durch).

Festplatte kann in mehrere Abschnitte unterteilt werden, die jeweils unabhängig voneinander verwendet werden. Wofür ist das? Eine Festplatte kann mehrere unterschiedliche Betriebssysteme enthalten, die sich auf unterschiedlichen Partitionen befinden. Die interne Struktur einer Partition, die einem Betriebssystem zugewiesen ist, wird vollständig von diesem Betriebssystem bestimmt.

Darüber hinaus gibt es weitere Gründe für die Partitionierung einer Festplatte, zum Beispiel:

Möglichkeit der Verwendung von Festplatten mit einer größeren Kapazität als MS DOS
32 MB;

Wenn eine Festplatte beschädigt wird, gehen nur die Informationen verloren, die sich auf dieser Festplatte befanden.

Reorganisieren und Auswerfen der Diskette kleine Größe einfacher und schneller als der Große;

Jedem Benutzer kann ein eigenes logisches Laufwerk zugewiesen werden.

Der Vorgang des Vorbereitens einer Festplatte für die Verwendung wird aufgerufen Formatierung, oder Initialisierung. Der gesamte verfügbare Speicherplatz ist in Seiten, Spuren und Sektoren unterteilt, wobei die Nummerierung der Spuren und Seiten bei Null beginnt und die Sektoren bei Eins beginnen. Eine Reihe von Spuren, die sich im gleichen Abstand von der Achse einer Scheibe oder eines Scheibenpakets befinden, wird als Zylinder bezeichnet. Somit wird die physikalische Adresse des Sektors durch die folgenden Koordinaten bestimmt: Spurnummer (Zylinder – C), Plattenseitennummer (Kopf – H), Sektornummer – R, d. h. CHR.

Der allererste Sektor der Festplatte (C=0, H=0, R=1) enthält den Master-Boot-Record Meister Boot-Record . Dieser Eintrag belegt nicht den gesamten Sektor, sondern nur seinen Anfangsteil. Der Master Boot Record ist ein nicht systembezogenes Bootloader-Programm.

Am Ende des ersten harter Sektor disk enthält die Festplattenpartitionstabelle - Partitionstabelle. Diese Tabelle enthält vier Zeilen, die maximal vier Partitionen beschreiben. Jede Zeile in der Tabelle beschreibt einen Abschnitt:

1) aktiver Abschnitt oder nicht;

2) die Nummer des Sektors, der dem Anfang des Abschnitts entspricht;

3) die Nummer des Sektors, der dem Ende des Abschnitts entspricht;

4) Partitionsgröße in Sektoren;

5) Betriebssystemcode, d. h. Zu welchem ​​Betriebssystem gehört diese Partition?

Eine Partition wird als aktiv bezeichnet, wenn sie das Bootprogramm des Betriebssystems enthält. Das erste Byte im Abschnittselement ist das Abschnittsaktivitätsflag (0 – inaktiv, 128 (80H) – aktiv). Es wird verwendet, um festzustellen, ob es sich bei der Partition um eine Systempartition (bootfähig) handelt und ob das Betriebssystem beim Starten des Computers von ihr geladen werden muss. Es kann nur ein Abschnitt aktiv sein. In den ersten Sektoren der Festplatte können sich kleine Programme, sogenannte Bootmanager, befinden. Sie fragen den Benutzer interaktiv, von welcher Partition er booten soll, und passen die Partitionsaktivitätsflags entsprechend an. Da die Partitionstabelle aus vier Zeilen besteht, können bis zu vier verschiedene Betriebssysteme auf der Festplatte vorhanden sein. Daher kann die Festplatte mehrere primäre Partitionen enthalten, die zu unterschiedlichen Betriebssystemen gehören.

Ein Beispiel für die logische Struktur einer Festplatte, die aus drei Partitionen besteht, von denen zwei zu DOS und eine zu UNIX gehören, ist in Abbildung 3.2a dargestellt.

Jeder aktive Abschnitt hat seinen eigenen Boot-Eintrag– ein Programm, das dieses Betriebssystem lädt.

In der Praxis wird die Festplatte meist in zwei Partitionen unterteilt. Die Größe der Partitionen, unabhängig davon, ob sie als aktiv deklariert sind oder nicht, wird vom Benutzer während der Vorbereitung der Festplatte für die Verwendung festgelegt. Dies geschieht mit spezielle Programme. Unter DOS heißt dieses Programm FDISK, in Windows-XX-Versionen heißt es Diskadministrator.

Unter DOS ist die primäre Partition Primäre Partition, dies ist der Abschnitt, der den Betriebssystem-Loader und das Betriebssystem selbst enthält. Somit ist die primäre Partition die aktive Partition, die als logisches Laufwerk mit dem Namen C: verwendet wird.

Das WINDOWS-Betriebssystem (nämlich WINDOWS 2000) hat die Terminologie geändert: Die aktive Partition wird als Systempartition bezeichnet, und die Startpartition ist die logische Festplatte, die sie enthält Systemdateien FENSTER. Das logische Startlaufwerk kann dasselbe sein wie Systempartition, kann sich aber auf einer anderen Partition derselben Festplatte oder auf einer anderen Festplatte befinden.

Abschnitt „Erweitert“. Erweiterte Partition kann in mehrere logische Laufwerke mit Namen von D: bis Z: unterteilt werden.

Abbildung 3.2b zeigt die logische Struktur einer Festplatte, die nur zwei Partitionen und vier logische Laufwerke hat.

Dateisysteme der Windows-Familie.

Das Dateisystem definiert die Prinzipien für die Speicherung von Daten auf physischen Medien. Das Dateisystem bestimmt beispielsweise, wie Dateidaten gespeichert werden sollen, welche Informationen (z. B. Name, Erstellungsdatum usw.) über die Datei wie gespeichert werden sollen. Das Datenspeicherformat bestimmt die Hauptmerkmale des Dateisystems.

Bei der Betrachtung der Eigenschaften von Dateisystemen ist das Konzept eines Clusters ein wichtiges Konzept. Cluster- Dies ist der minimale Datenblock, der auf dem Medium platziert wird. Das Dateisystem verwendet Cluster für mehr effektives Management Festplattenplatz. Die Clustergröße ist immer ein Vielfaches der Festplattensektorgröße. Ein potenzieller Nachteil großer Clustergrößen ist die weniger effiziente Nutzung Festplattenplatz, da den Daten einer Datei und eines Verzeichnisses immer eine ganzzahlige Anzahl von Clustern zugeordnet wird. Wenn die Clustergröße beispielsweise 32 KB beträgt, belegt eine 100-Byte-Datei immer noch 32 KB auf der Festplatte.

Derzeit gibt es eine große Anzahl von Dateisystemen, die sich in ihrem Verwendungszweck (z. B. Ausrichtung nur auf einen bestimmten Medientyp) und verschiedenen Merkmalen voneinander unterscheiden. Die folgenden Dateisysteme werden in Windows XP sowie in Windows Server 2003 unterstützt:

  • FETT(File Allocation Table) ist ein für MS-DOS entwickeltes Dateisystem und das wichtigste für Windows 3.x und 9x. Windows XP und Windows Server 2003 unterstützen drei FAT-Varianten: FAT12, FAT16 und FAT32. Die ersten beiden bieten Kompatibilität mit älteren Microsoft-Betriebssystemen. Darüber hinaus kommt FAT12 als Datenspeicherformat zum Einsatz Disketten. FAT 32 ist eine modifizierte Version von FAT, die in Windows 95 OSR2, Windows 98 und Windows Millennium verwendet wird.
  • NTFS(Windows NT-Dateisystem) – ein Dateisystem, das speziell für Windows NT entwickelt und von Windows 2000, Windows XP und Windows 2003 übernommen wurde.
    CDFS(Compact Disk File System) – CD-Dateisystem.
    UDF(Universal Festplattenformat) ist ein universelles Disc-Format, das von modernen magnetooptischen Laufwerken und vor allem der DVD-Technologie verwendet wird.

Jedes System hat seine eigenen nützlichen Eigenschaften, aber die Fähigkeiten zum Schutz und zur Überwachung von Systemen variieren. Die Wahl eines Dateisystems wird von folgenden Faktoren beeinflusst: dem Verwendungszweck des Computers, der Hardwareplattform, der Anzahl der Festplatten und deren Kapazität, Sicherheitsanforderungen, im System verwendeten Anwendungen.

Dateisysteme FAT12 und FAT16.

Dateisystem FETT(File Allocation Table) erhielt seinen Namen in Übereinstimmung mit dem Namen der Datenorganisationsmethode – der Dateiverteilungstabelle. FAT (oder FAT16) war ursprünglich für kleine Laufwerke und einfache Verzeichnisstrukturen gedacht. Es wurde dann verbessert, damit zu arbeiten große Scheiben und kraftvoll persönliche Computer.

Windows XP und Windows Server 2003 unterstützen das FAT-Dateisystem aus drei Gründen:

  • um das Betriebssystem von früheren Windows-Versionen aktualisieren zu können;
  • für Kompatibilität mit anderen Betriebssystemen mit mehreren Startoptionen;
  • wie ein Diskettenformat.

Jeder FAT-Versionsname enthält eine Zahl, die die Bittiefe angibt, die zur Identifizierung von Clustern auf der Festplatte verwendet wird. Die 12-Bit-Cluster-ID in FAT12 begrenzt die Festplattenpartitionsgröße auf 212 (4096) Cluster. Windows verwendet Cluster mit einer Größe von 512 Byte bis 8 KB, sodass die Größe eines FAT12-Volumes auf 32 MB begrenzt ist. Daher verwendet Windows FAT12 als Format für 5,25- und 3,5-Zoll-Disketten, auf denen bis zu 1,44 MB Daten gespeichert werden können.

FAT16 kann aufgrund der 16-Bit-Cluster-IDs bis zu 216 (65.536) Cluster adressieren. Unter Windows reicht die FAT16-Clustergröße von 512 Byte bis 64 KB, sodass die FAT16-Volumegröße auf 4 GB begrenzt ist. Die Größe der von Windows verwendeten Cluster hängt von der Größe des Volumes ab.

Standardclustergrößen in FAT16 (unter Windows)

Das FAT-Dateisystem bietet keine Datenschutzfunktionen und automatische Wiederherstellung. Daher wird es nur verwendet, wenn das alternative System auf dem Computer MS-DOS oder Windows 95/98 ist, und auch zum Übertragen von Daten auf Disketten. Andernfalls wird die Verwendung von FAT nicht empfohlen.

Dateisystem FAT32.

Modifizierte Version von FAT - FAT32- Ermöglicht das Erstellen größerer Partitionen als in FAT16 und die Verwendung kleinerer Cluster, was zu einer effizienteren Nutzung des Festplattenspeichers führt. FAT32 erschien erstmals in Windows 95 OSR2. Es wird auch unter Windows 98 und Windows Millennium unterstützt.

FAT32 verwendet 32-Bit-Cluster-IDs, reserviert jedoch die höchstwertigen 4 Bits, sodass die effektive Cluster-ID-Größe 28 Bit beträgt. Da die maximale Größe von FAT32-Clustern 32 KB beträgt, kann FAT32 theoretisch 8 Terabyte-Volumes verarbeiten. Die FAT32-Implementierung in Windows XP/Windows 2003 erlaubt jedoch nicht die Erstellung von Volumes mit mehr als 32 GB, das Betriebssystem kann jedoch vorhandene FAT32-Volumes beliebiger Größe verwenden.

Clustergröße auf FAT32-Volumes (Standard)

Neben der größeren maximalen Clusteranzahl ist der Vorteil von FAT32 gegenüber FAT12 und FAT16 folgender:

  • Der Speicherort des FAT32-Stammverzeichnisses ist nicht auf einen vordefinierten Volume-Bereich beschränkt, daher ist seine Größe nicht begrenzt;
  • Für eine höhere Zuverlässigkeit speichert FAT32 eine zweite Kopie des Bootsektors.

NTFS-Dateisystem.

Das NTFS-Dateisystem ist das zuverlässigste Dateisystem, das speziell für Windows NT entwickelt und in späteren Windows-Versionen verbessert wurde.

NTFS verwendet 64-Bit-Cluster-Indizes. Dadurch kann NTFS Volumes von bis zu 1 Milliarde Exabyte (1 Milliarde GB) verarbeiten. Allerdings begrenzt Windows XP die Größe von NTFS-Volumes auf Werte, die von 32-Bit-Clustern angesprochen werden können, also bis zu 128 TB (bei Verwendung von 64-KB-Clustern).

Clustergröße auf NTFS-Volumes:

Eine der wichtigsten Eigenschaften von NTFS ist Wiederherstellbarkeit. Bei einem unerwarteten Systemabsturz können Informationen über die Ordner- und Dateistruktur auf einem FAT-Volume verloren gehen. NTFS protokolliert alle vorgenommenen Änderungen. Dadurch wird die Zerstörung von Daten in der Volume-Struktur vermieden (in manchen Fällen können jedoch Dateidaten verloren gehen). Dank der Möglichkeit, Dateien und Ordner zu verschlüsseln und den Zugriff darauf einzuschränken, erhöht die Verwendung des NTFS-Dateisystems die Sicherheit Ihres Computers.

NTFS unterstützt im Vergleich zu FAT eine Reihe zusätzlicher Funktionen. Die wichtigsten sind unten aufgeführt:

  • Schutz von Dateien und Verzeichnissen
  • Dateikomprimierung
  • Unterstützung für Multithread-Dateien
  • Linkverfolgung
  • Festplattenkontingente
  • Verschlüsselung
  • Wiederaufbereitungsstellen
  • Verbindungspunkte
  • Schattenkopien


 


Lesen:



Typisierte Programmiersprache Typ oder Formatbezeichner oder Konvertierungszeichen oder Steuerzeichen

Typisierte Programmiersprache Typ oder Formatbezeichner oder Konvertierungszeichen oder Steuerzeichen

Programmiersprache C++ Letzte Aktualisierung: 28.08.2017 Die Programmiersprache C++ ist eine kompilierte Hochsprache...

Arbeitsplan der russischen Post an den Neujahrsfeiertagen. Postarbeit an den Neujahrsfeiertagen

Arbeitsplan der russischen Post an den Neujahrsfeiertagen. Postarbeit an den Neujahrsfeiertagen

Die russische Post hat sich im 21. Jahrhundert zu einer universellen Institution entwickelt, die nicht nur beim Empfang von Briefen und Paketen hilft. Versorgungsleistungen, Renten,...

Tass: Abkürzung Dekodierung

Tass: Abkürzung Dekodierung

Dieser Begriff kommt vom italienischen abbreviatura und dem lateinischen brevis – kurz. In alten Büchern und Manuskripten war dies die Bezeichnung für eine Abkürzung...

Zertifikatsvorlagen leer, laden Sie die Vorlage „Ehrenurkunde“ zum Ausdrucken herunter

Zertifikatsvorlagen leer, laden Sie die Vorlage „Ehrenurkunde“ zum Ausdrucken herunter

Grüße, lieber Leser! Heute erzähle ich Ihnen, wie Sie einen Brief in Word erstellen. Bei meiner Arbeit musste ich eine große Anzahl von ... aufschreiben.

Feed-Bild RSS