Alle Websites, auf denen ich nach Informationen zu FAT16 suche, geben nur deklarativ an, dass nicht mehr als 2 GB zugewiesen werden können. OKAY. Groß. Ich glaube Ihnen. Aber wie kommst du zu diesem Schluss (außer es nur zu testen)?
Gibt es eine Formel, mit der man bestimmen kann, wie viel ein FAT16-System halten kann?
file-storage
allocation
SangoProductions
quelle
quelle
Antworten:
FAT16 verwendet 16 Bits, um Cluster zu identifizieren. Daher sind maximal 65536 Cluster vorhanden, bevor Ihnen die Bezeichner ausgehen. Einige Bezeichner sind für die Verwendung außerhalb von Dateien reserviert. Jede Datei belegt mindestens einen Cluster. Größere Cluster erhöhen die Mindestzuweisung pro Datei und erhöhen den Overhead kleiner Dateien.
Die Clustergröße gibt dann Auskunft über das maximal identifizierbare Volumen. Bei 32-KB-Clustern sind dies 32 * 1024 * 65536 B = 2 GB.
Sie können die Clustergröße unbegrenzt erhöhen, indem Sie die Größe Ihrer Festplattensektoren erhöhen, bleiben jedoch auf die maximale Anzahl von Dateien beschränkt. Sie würden auch auf Probleme mit Software stoßen, die die Standardsektorgröße (512B) annahm.
Zu dem Zeitpunkt, an dem physische Volumes von ~ 2 GiB verfügbar waren, waren Prozessoren und Betriebssysteme 32-Bit, so dass die Umstellung auf FAT32 eine vernünftige Wahl war, die erheblich mehr Dateien in kleinen Clustern zuließ
quelle
Tatsächlich gab es im Laufe der Jahre mehrere Varianten von "FAT16" mit unterschiedlichen Grenzwerten. Betrachten wir jedoch die Version, die von "compaq DOS 3.31" bis zu Windows 95 bestand.
FAT-Volumes sind in Cluster unterteilt. Jeder Cluster besteht aus einer Potenz von zwei Sektoren. Die Anzahl der Sektoren pro Cluster auf FAT16 wird als vorzeichenbehaftete 8-Bit-Zahl gespeichert. Die maximal möglichen Sektoren pro Cluster sind also 64.
Clusternummern wurden als 16-Bit-Wert ohne Vorzeichen gespeichert. Begrenzen der Gesamtzahl der Cluster auf 65536. Multiplizieren Sie diese mit den maximalen Sektoren pro Cluster, und Sie erhalten ein Limit von 4194304 Sektoren.
Die (logische) Sektorgröße von Festplatten beträgt 512 Bytes. Multiplizieren Sie dies mit der oben genannten Anzahl von Sektoren und Sie erhalten Ihr 2GiB-Limit. Grundsätzlich kann ein Medium mit größeren Sektoren ein größeres FAT16-Volume unterstützen, aber ich glaube nicht, dass dies in der Praxis passiert ist.
Windows NT änderte die Interpretation des Felds "Sektoren pro Cluster" zu 8 Bit ohne Vorzeichen. Dies ermöglichte eine 4GiB FAT16-Partition mit 512-Byte-Sektoren (und theoretisch größer auf Laufwerken mit größeren Sektoren). AIUI Windows 98 fügte Unterstützung für das Lesen und Schreiben solcher Partitionen hinzu, aber es konnte sie nicht erstellen und die Festplatten-Dienstprogramme konnten sie nicht reparieren.
Es wäre sicherlich möglich gewesen, kleinere Änderungen am Dateisystemformat vorzunehmen, um größere Cluster und damit größere Volumes zu unterstützen. MS entschied sich jedoch für die radikalere Option, zu einem 32-Bit-Cluster-Index überzugehen, bei dem Windows 95 OSR2 FAT32 produziert.
Ich glaube, der Grund für die radikalere Option war die Raumeffizienz. Bei den damals üblichen Dateigrößen waren 32-kB-Cluster schon ziemlich verschwenderisch und größere wären sogar so verschoben worden.
quelle