
Ich habe Wikipedia und andere Websites durchgesehen und hier sind die Informationen, die ich erhalten habe.
Sektor:Kleinste adressierbare Einheit (meistens 512 Bytes)
Cluster: Kleinste Zuordnungseinheit (entspricht 1 oder mehreren Sektoren und die Anzahl der Cluster hängt vom Dateisystem ab).
Nehmen wir im folgenden Beispiel an: Sektor = 512 Bytes und ein Cluster = 8 Sektoren = 4096 Bytes. Jetzt fällt es mir schwer herauszufinden, was das Dateisystem macht, wenn ich versuche, eine Datei zu erstellen. Betrachtet es 4096 Bytes als kleinste Schreib-/Leseeinheit oder 512 Bytes?
Wenn die Antwort 4096 Bytes ist: Wenn der Hersteller der Festplattenlaufwerke 512 Bytes als kleinste adressierbare Einheit angegeben hat, warum betrachtet das Dateisystem dann Cluster als kleinste Einheit? Ich meine, welche Vorteile bietet dies?
Antwort1
Der Vorteil von Dateisystemen, die einen Cluster/eine Zuordnungseinheit/einen Block als kleinste Einheit betrachten, liegt darin, dass die Adressierung der gesamten Festplattepro Sektorwürde eine größere Anzahl von Bits erfordern, um alles zu indizieren. Diese größere Anzahl von Bits würde es langsamer machen, da es eine größere Anzahl von Adressen und Dingen gibt, die im Auge behalten werden müssen. Es ist weitaus effizienter, Standorte mit beispielsweise 48 Bits (2^48 = 2,8e14) zu adressieren (und zu indizieren!), als mit 64 oder mehr Bits (2^64 = 1,8e16) für jeden einzelnen Zugriff auf das Gerät.
Aber ja, Clustergröße oder Zuordnungseinheitsgröße (Windows) oder Blockgröße (Linux) ist je nach definiertem Dateisystem anpassbar, und das ist die kleinste Größe, dienormalerweisevon einem Betriebssystem zum Speichern von Dateidaten aufgerufen werden. „Ein Dateisystem definieren“ bedeutet, die Festplatte (oder die Spezifikationen dieses Formats) zu formatieren, was das Löschen aller Daten auf der Festplatte impliziert. Auf einer Festplatte mit einer Clustergröße von 4 KB würde eine 1-Byte-Datei also tatsächlich einen ganzen 4-Kilobyte-Cluster belegen, wie in Ihrem Beispiel. Ja, das Betriebssystem könnte in einen bestimmten Sektor innerhalb dieses Clusters schreiben, aber die Datei würde trotzdem dieselben Sektoren dieses Clusters verwenden (die Dateigröße ist immer ein Vielfaches der Clustergröße, unabhängig davon, welche Daten darin enthalten sind). Diese Clustergröße zu ändern bedeutet, die Festplatte neu zu formatieren, und deshalb müssen alle Daten gelöscht werden.
Kleinere Cluster speichern übrigens kleinere Dateien effizienter. Allerdings läuft die Festplatte aufgrund der größeren Anzahl von Clustern insgesamt langsamer. Wenn Ihr PC lange Zeit nur auf der Festplatte herumsitzt und sie bearbeitet, liegt das daran, dass er versucht, so viele kleine Blöcke zu lesen oder zu schreiben, und die schiere Anzahl dieser Blöcke verlangsamt alles.
Beispiel: 100.000 768-Byte-Dateien, gespeichert auf einer Festplatte mit 1-KiB-Clustern:
768 kB Bytes an tatsächlichen Dateidaten
1,024 MB der Festplatte werden verwendet, da jede Datei 1024 Byte der Festplatte verwendet.
Platzeffizienz = 0,768/1,024 = 75 % (nicht schlecht …)
Und genauso sind größere Cluster besser für Festplatten mit weniger, aber größeren Dateien wie Filme, Bilder und Audio. Da es weniger Cluster gibt, ist die Festplatte im Allgemeinen schneller. Aber seien Sie vorsichtig, wenn Sie viele kleine Dateien darauf speichern:
Beispiel: 100.000 768-Byte-Dateien, gespeichert auf einer Festplatte mit 64-KiB-Clustern:
768 kB Bytes an tatsächlichen Dateidaten
6,55 GB der Festplatte werden verwendet, da jede Datei 65.535 Byte der Festplatte verwendet.
Platzeffizienz = 0,768/6553,5 = 0,00017 %!!!
Datenträger mit gemischtem Inhalt, wie z. B. einem Betriebssystem, haben im Allgemeinen mittlere bis kleine Cluster-/Blockgrößen, da die meisten Dateien mittelgroß bis klein sind. Das Endergebnis ist ein Kompromiss zwischen Speicherplatznutzung und Geschwindigkeit.
Die Festplatten selbst bevorzugen Blöcke zwischen 32 und 256 KB, da sie damit die meisten Daten pro Sekunde übertragen können.
Hier geht es um herkömmliche mechanische Festplatten mit rotierenden Magnetplatten. SSDs oder Solid-State-Laufwerke ersetzen herkömmliche Festplatten schnell und bieten viel schnellere Lese-/Schreib-/Suchgeschwindigkeiten. Ist die Clustergröße bei einer SSD heute also wichtig? Nun, ich würde sagen, für den durchschnittlichen Benutzer ist sie weniger wichtig, aber nur, weil die SSD (und moderne Computer) bereits viel schneller sind. Wem fällt schon eine Verlangsamung von 10 % bei einer SSD auf, wenn diese bereits 5x schneller ist als eine magnetische Festplatte?
Was die Clustergröße auf einer SSD stärker beeinflussen könnte, ist der Durchsatz. Sie könnten (durch Formatierung und Benchmarking) feststellen, dass eine bestimmte Clustergröße funktioniertweitbesser als andere für diese SSD. Einige SSDs sind beispielsweise für 8-KiB- oder 4-KiB-Übertragungen optimiert. Dies hängt damit zusammen, wie groß der Datenblock sein muss, den die Elektronik im Inneren pro Anforderung übertragen kann. Passen Sie das, was das Betriebssystem zu verwenden versucht (Clustergröße), an die optimale Größe für diese SSD an = schnellste Übertragungsgeschwindigkeit.
Aus Datei-Overheadgründen ist die Clustergröße auf SSDs jedoch weiterhin wichtig.
Ich habe ein großartiges Tool zum Benchmarking von SSDs gefunden:AS-SSDfür Windows unddieseunter Linux.
Antwort2
Sektorgröße vom Hersteller definiert.
Jetzt können wir zwei Arten von Sektorgrößen sehen. 512b oder 4Kb
Vor 2010 HDD-Sektorgröße: 512b
Nach dem Jahr 2010 begann der Hersteller mit der Produktion von 4K-Festplatten und verteidigte seine Marke.
Im Jahr 2018 nutzen über 70 % der Benutzer die Sektorgröße 512 B.
In seltenen Fällen stellen einige Festplattenhersteller eigene Tools zum Ändern der Sektorgröße zur Verfügung.
Cluster (für FAT) ist dasselbe wie BLOCK-System (für Linux).
Es enthält einen oder mehrere Sektoren
Das Dateisystem befasst sich nur mit Clustern (oder Blöcken).
Vom Hersteller bereitgestellter logischer Sektor, sogenannter nativer Sektor.
Der Benutzer kann nur den physischen Sektor (= Cluster- oder Blockgröße) über das Format oder Partitionierungstool ändern.
Logischer Sektor/Physischer Sektor = 512/4096 = Herstellersektor/Benutzersektor = nicht änderbar / änderbar