GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum haben Betriebssysteme Dateigrößenbeschränkungen?

Dateisysteme müssen Dateigrößen speichern (entweder in Bytes oder in einer vom Dateisystem abhängigen Einheit wie Sektoren oder Blöcken). Die Anzahl der Bits, die der Größe zugewiesen werden, ist normalerweise in Stein gemeißelt, wenn das Dateisystem entworfen wird.

Wenn Sie zu viele Bits für die Größe zulassen, nimmt jede Datei etwas mehr Platz ein und jede Operation wird etwas langsamer. Wenn Sie andererseits zu wenige Bits für die Größe zulassen, werden sich die Leute eines Tages beschweren, weil sie versuchen, eine 20EB-Datei zu speichern, und Ihr beschissenes Dateisystem lässt sie nicht zu.

Zu der Zeit, als die von Ihnen erwähnten Dateisysteme entworfen wurden, klang es wie Science-Fiction, eine Festplatte zu haben, die groß genug war, um an die Grenze zu laufen. (Außer FAT32, aber das Unternehmen, das es beworben hat, beabsichtigte es als Zwischenmaßnahme, bevor jeder sein glänzendes neues NTFS einführte, und sie waren nie sehr gut darin, wachsende Anforderungen zu antizipieren.)

Eine andere Sache ist, dass bis zum Ende des letzten Jahrhunderts die meisten Verbraucher- (und sogar Server-) Hardware nur schnelle Berechnungen mit 32-Bit-Werten ermöglichen konnten und Betriebssysteme dazu neigten, 32-Bit-Werte für die meisten Dinge zu verwenden, einschließlich Dateigrößen. 32 Bit bedeutet 4 GB, daher waren Betriebssysteme unabhängig vom Dateisystem in der Regel auf 4 GB Dateien beschränkt, oft sogar 2 GB, weil sie vorzeichenbehaftete Ganzzahlen verwendeten. Jedes ernsthafte Desktop- oder Server-Betriebssystem verwendet heutzutage 64 Bit für Dateigrößen und Offsets, was die Grenze auf 8 EB legt.


Die Datenstrukturen auf der Festplatte sind normalerweise die Grenze. Untersuchen Sie, wie diese Betriebssysteme ihre Festplatten formatieren und wie sie die Teile der Dateien auf der Festplatte verfolgen, und Sie werden verstehen, warum sie diese Einschränkungen haben. Das FAT-Dateisystem ist online ziemlich gut dokumentiert (siehe zum Beispiel Wikipedia) und Sie können sehen, dass die Wahl ganzzahliger Größen für einige Plattenstrukturfelder die Gesamtgröße der Datei begrenzt, die Sie mit diesem Plattenformat speichern können.


Linux
  1. Unterschied bei der Berechnung der Verzeichnisgröße?

  2. Warum müssen wir den Dateinamen zweimal in Exec-Funktionen übergeben?

  3. Datei-Upload-Größe in NGINX begrenzen

  4. Unterstützte und empfohlene Dateisysteme unter Linux

  5. Warum brauchen wir die .so.1-Datei unter Linux?

Warum ich unter Linux exa anstelle von ls verwende

FSTAB &MTAB

Top 3 Linux-Serverbetriebssysteme im Jahr 2021

Warum stimmen Ls und Hexdump nicht über die Dateigröße überein?

Top 10 Unix-basierte Betriebssysteme

Reduzieren Sie die PDF-Dateigröße unter Linux