Neu bei Dateisystemen

Neu bei Dateisystemen

Ich verstehe nicht, warum es Beschränkungen bei der Dateigröße und dem gesamten adressierbaren Speicher jedes Dateisystems gibt. Warum kann beispielsweise bei FAT32 die maximale Dateigröße 4 GB betragen?

Antwort1

Im Grunde läuft es größtenteils auf alte Standards (insbesondere FAT16/32) hinaus, die damals entwickelt wurden, als 4-GB-Dateien noch unbekannt waren und eine Partition von 2 TB unfassbar groß war. Sie haben Kompromisse bei den Standards gemacht, die für die damalige Zeit völlig vernünftig waren.

Wenn Sie sich das genauer ansehen, werden Sie feststellen, dass die alten Dateisysteme sehr eingeschränkt sind, da die Nutzung von Computern damals begrenzt war. Heute können wir Partitionen erstellen, die so groß sind, dass wir wahrscheinlich erst in 20 bis 30 Jahren die entsprechenden Geräte haben werden.

Antwort2

Ich werde hier einen großen Teil der Programmiertheorie und des Betriebssystemdesigns auslassen, sonst würde das hier Tage dauern.

Einfach ausgedrückt, weil zum Zeitpunkt ihrer Erstellung bestimmte Annahmen und Entscheidungen bei der Implementierung getroffen wurden, insbesondere hinsichtlich der Adressierung und des Zugriffs auf Dateien.

In der Computersprache muss es für alles und jedes einen Maximalwert geben – unendlich gibt es nicht.

Noch wichtiger ist, dass jeder Verzeichniseintrag eine eindeutige Möglichkeit zur Identifizierung haben muss - Eigentümer, welche speziellen Attribute und Berechtigungen er hat, um welche Art von Datei es sich handelt (Verzeichnis, Symlink, Hardlink, normale Datei, Pipe, Blockgerät, Zeichengerät usw.). Auf den meisten Unix-Dateisystemen wird dies als 'Inode-Nummer', und da jede davon eindeutig sein muss, können Sie nie mehr Dateien haben, als Sie mögliche unterschiedliche Zahlen haben.

DerandereDas Problem ist (oder war) ein Optimierungsproblem. Da Dateisystemoperationen etwas sind, das Ihr System tun wird,ganzDesigner neigen oft dazu, den kleinsten Zahlenbereich auszuwählen, den sie für sinnvoll halten, da Computer mit (in Bezug auf die Bitlänge) kleineren Zahlen viel schneller rechnen können als mit größeren. Und wenn die größten Festplatten auf dem Markt ein oder zwei Gigabyte groß sind, könnten Sie geneigt sein anzunehmen, dass 65.000 Dateien und eine maximale Dateisystemgröße von 2 Terabyte einigermaßen zukunftsorientiert sind.

Dann vergeht die Zeit, und weniger als ein Jahrzehnt später verfluchen Kernel-Programmierer Ihren Namen und Ihren Mangel an Weitsicht, während sie versuchen, durch Reverse Engineering mehr Kapazität in Ihren Dateisystemcode zu integrieren.

verwandte Informationen