Partitionen sind Sequenzen von Blöcken , und nach langjähriger Konvention besteht ein Block aus 512 Bytes.
Eine Partition kann also mit einem Vielfachen von 512 Bytes auf einer Festplatte beginnen, was als sehr lange Bytefolge "angesehen" wird.
Die zugrunde liegende Festplattenhardware, die ursprünglich dieselbe Sektorgröße von 512 Byte aufwies, verwendet jetzt aus Effizienzgründen eine größere Größe. Nehmen wir an, es sind 4096 Bytes.
Aus Kompatibilitätsgründen "redet" die zwischen Betriebssystem und Hardware stehende Firmware immer noch in Sektoren. Sie fragen also den ersten Sektor, und die Hardware ruft den ersten Block (4096 Bytes) ab, und die Firmware extrahiert und liefert den entsprechenden Slice. Sie fragen den zweiten Block und der Block wird wahrscheinlich aus dem Cache abgerufen.
Bisher hat die Nichtübereinstimmung der Sektorgröße keine Nachteile.
Das Betriebssystem verwendet jedoch auch Blöcke (normalerweise als Cluster bezeichnet ), um die Effizienz zu steigern, und richtet sie an der Partition aus. Ein Cluster mit vier Sektoren besteht also aus den Sektoren 5, 6, 7 und 8.
Wenn das Betriebssystem den Dateisystemcluster 2 anfordert , wird die Firmware nach den logischen Sektoren 5, 6, 7 und 8 gefragt . Befinden sich alle im selben Plattenblock , muss die Platte EINEN Lesevorgang ausführen.
Wenn die Partition jedoch im "falschen" Sektor beginnt, endet der erste Cluster im Dateisystem beispielsweise vereinfacht in den Sektoren 2, 3, 4 und 5. Diese befinden sich möglicherweise zur Hälfte im ersten Plattenblock (1 -2-3-4), die Hälfte in der Sekunde (5-6-7-8).
Sie benötigen jetzt eine zusätzliche Lektüre . Bei einem Verhältnis von Betriebssystem zu Festplatte von 1: 1 entspricht dies einer Verdoppelung der Lesezugriffe. Wenn das Verhältnis von Betriebssystem zu Festplatte 2: 1 beträgt, ein Cluster aus zwei Hardware-Festplattenblöcken besteht, benötigen Sie 2 + 1 = 3 Lesevorgänge, eine Strafe von 50%:
OS |--- cluster 12 ---|--- cluster 13 ---|--- cluster 14...
| | |
HDD --|----|----|----|-a--|--b-|-c--|-d--|-e--|----|--- BAD
| | |
HDD |----|----|----|----|-a--|--b-|-c--|-d--|----|----|--- GOOD
Darüber besteht ein Cluster aus 4 Hardware-Blöcken (Verhältnis 4: 1) mit jeweils 2 Sektoren. Das Ausrichten auf "geraden" Sektoren bedeutet, dass zum Lesen eines Clusters diese 8 Sektorlesevorgänge in 4 Blocklesevorgänge übersetzt werden. Das Ausrichten auf ungeraden Sektoren bedeutet, dass die gleichen 8 Sektorlesevorgänge 4 + 1 = 5 Blocklesevorgänge erfordern, was einen Leistungsnachteil von 25% bedeutet (Sie addieren alle vier Lesevorgänge einen).
Wenn Sie eine falsch ausgerichtete Festplatte mit einem Verhältnis von 4: 1 haben, beschleunigt das Ausrichten diese um 20% (Sie sparen alle 5 Lesevorgänge einen Lesevorgang).
Um eine Partition "ausgerichtet" zu machen, verschieben / setzen Sie entweder ihren Versatz vom Anfang der Festplatte auf das entsprechende Vielfache von 512b-Sektoren, oder Sie können (je nach Werkzeug) eine kleine Partition am Anfang der Festplatte einfügen. mit einer solchen Größe, dass die nächste Partition genau an einer Plattensektorgrenze beginnt. In diesem zweiten Fall, während Sie theoretisch höchstens N-1 Sektoren benötigen, dh nur sehr wenige Kilobyte, müssen Sie in der Praxis wahrscheinlich einige hundert Kilobyte, möglicherweise ganze Megabyte, verschwenden, um die meiste Leistung aus Ihren herauszuholen Multi-Gigabyte-Festplatte.
(Sie könnten diesen Speicherplatz und vieles mehr wahrscheinlich wiederherstellen, indem Sie die Clustergröße des Betriebssystems richtig auswählen .)