Interpretation der Anzahl der von fdisk zurückgegebenen Köpfe


4

Infos zur Festplatte:

$ sudo fdisk -l

Disk /dev/sda: 250.1 GB, 250058268160 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488395055 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
...

Es steht also geschrieben, dass es 255 Köpfe gibt.

Bildbeschreibung hier eingeben

Quelle: http://www.tldp.org/LDP/sag/html/hard-disk.html

Auf dem Bild oben sieht es so aus, als gäbe es 255 (Anzahl der Köpfe) / 2 (zwei Köpfe pro Platte) = 127 Platten, was eine unglaubliche Anzahl zu sein scheint. Wie ist zu interpretieren, was physisch Kopf bedeutet?


from man fdisk:> Wenn möglich, ermittelt fdisk die Plattengeometrie automatisch. Dies ist nicht unbedingt die physische Plattengeometrie (in der Tat haben moderne Platten nicht wirklich etwas wie eine physische Geometrie, sicherlich nicht etwas, das in vereinfachter Form als Zylinder / Köpfe / Sektoren beschrieben werden kann), aber es ist die Plattengeometrie, die MS-DOS verwendet verwendet für die Partitionstabelle.
Byron Claiborne

Ist das eine virtuelle Maschine?
Zypher

Nein, es ist keine virtuelle Maschine
scdmb


4
Die Geometrie, die von erzählt wird, fdiskist heutzutage rein fiktiv. Genauer gesagt: Die Geometrie, die jede moderne Festplatte angibt, ist rein fiktiv.
Andreas Wiese

Antworten:


6

Wie in einem Kommentar ausgeführt, haben die für die physikalische Antriebsgeometrie angegebenen Zylinder- / Kopf- / Sektornummern heutzutage in der Realität keine Grundlage. Sie können diese Zahlen ignorieren.

Um zu verstehen, was vor sich geht, müssen wir auf den ursprünglichen IBM-PC Modell 5150 von 1981 zurückgreifen.

Die native Konfiguration des 5150 bestand aus einer Kombination aus Kassetten- und Diskettenspeicher. Eine Festplatte wurde ursprünglich nicht unterstützt ( eine konnte nachgerüstet werden, aber das erforderte sowohl eine separate Controllerkarte als auch ein leistungsfähigeres Netzteil als das, das ab Werk mitgeliefert wurde. Außerdem waren sie ein verdammt teurer Luxus ). Bei Disketten ist es sinnvoll, die Medien in Bezug auf Kopf, Zylinder und Sektor zu adressieren. Diese Mengen lassen sich sehr bequem an einen bestimmten Ort auf dem physischen Datenträger übertragen und sind sowohl in der Software als auch in der Controller-Firmware und der Laufwerkhardware relativ einfach zu verarbeiten. Wenn Sie buchstäblich pro Byte für jede Art von Speicher bezahlen, ist diese Einfachheit eine wirklich schöne Sache.

Da der Speicher des 5150 sowohl im RAM als auch im Speicher sehr begrenzt war ( das Basismodell hatte 16 KB RAM ; der Text dieser Antwort würde etwa die Hälfte seines RAM beanspruchen, geschweige denn jede Software, die mit dem Text arbeitet), Es war wichtig, so wenig wie möglich zu verschwenden. Die beteiligten Ingenieure haben sich also eine Reihe von Grenzen ausgedacht, die zu dieser Zeit wahrscheinlich riesig erschienen: Der Zylinder wurde mit 10 Bit codiert, der Kopf mit 8 Bit und die Sektornummer mit 6 Bit, was alles möglich sein könnte Ordentlich in drei Bytes gepackt, mit etwas Bit-Shifting-Magie . Dies ermöglichte die Adressierung von 256 Köpfen, 1024 Zylindern pro Kopf und 64 Sektoren pro Zylinder.(In der Praxis wird die Zahl 0 für jeden nicht verwendet.) Mit 512-Byte-Sektoren können so insgesamt 8 GiB adressiert werden, eine enorme Datenmenge von 1981. Selbst ein praktischeres Zehn-Kopf-Laufwerk gab Ihnen eine Obergrenze von 320 MiB, zu einer Zeit, als das "High-End" -Speichermedium zum Zeitpunkt der Einführung des 5150 160- Kilobyte- Disketten war (unter Verwendung von acht Sektoren pro Spur und 40 Spuren oder Zylindern). Wenn wir dies extrapolieren, indem wir die Disketten durch Single-Layer-DVDs ersetzen, die etwas mehr als 4 GiB speichern, und nicht die 8 GiB-Laufwerke, dann würden wir uns Einzellaufwerke ansehen, die in der Größenordnung von 100 TB gespeichert werden können. Sehen Sie irgendwann bald welche am Markt? Das habe ich nicht gedacht.

Ein erschwerender Faktor war, dass der ursprüngliche IDE-Standard eine andere CHS-Codierung verwendete . Es wurden 28 Bit für CHS verwendet, wobei der Zylinder als 16 Bit, der Kopf als 4 Bit und der Sektor als 8 Bit codiert wurden. Da jeder die Kompatibilität liebt, erhalten wir 10 Zylinderbits, 4 Kopfbits und 6 Sektorbits, wenn wir das größte von beiden nehmen. Da Sektor 0 nicht verwendet wird, können 1.032.192 Sektoren adressiert werden, die bei 512 Bytes jeweils 504 MiB ergeben. Es gibt die erste Einschränkung bei Festplatten: die 500-MB-Barriere. Wenn Sie das vollständige IDE CHS-Schema mit 512-Byte-Sektoren verwenden und sich nicht um die IBM CHS-Kompatibilität kümmern, können Sie 127,5 GiB adressieren.

Außerdem haben sich 256 Kopfantriebe auf dem Markt nie wirklich durchgesetzt. (Bis heute verwenden die meisten Festplattenlaufwerke weniger als ein halbes Dutzend Platten mit einem Kopf pro Seite jeder Platte .) Jemand dachte über den Trick nach, nicht verwendete Teile auszuleihen und sie für andere Zwecke zu verwenden. Daher könnte sich ein Laufwerk mit viermal so vielen Köpfen präsentieren wie es tatsächlich der Fall ist, aber in Wirklichkeit werden diese zwei zusätzlichen Bits verwendet, um stattdessen Zylinder zu adressieren. Die Firmware kann die Übersetzung problemlos durchführen, da sie nicht auf die gleiche Weise wie das ursprüngliche CHS-Adressierungsformat 5150 eingeschränkt werden muss, geschweige denn auf den kleinsten gemeinsamen Nenner der IDE / ATA- und IBM CHS-Adressierung. Um jedoch kompatibel zu bleiben, muss der Antrieb noch eine CHS-Geometrie aufweisen. So wurde die LBA-unterstützte übersetzte Geometrie geboren. Dies ermöglichte die Verwendung des gesamten theoretischen 8-GiB-Adressierungsbereichs des CHS-Schemas , gab uns jedoch Monstrokitäten wie Laufwerke mit der Meldung, dass sie Hunderte von Köpfen haben, sodass alle Sektoren des Laufwerks über die CHS-Geometrie auf irgendeine Weise adressiert werden konnten.

CHS überlebte in gewisser Weise bis in die späten 1990er Jahre, als die üblichen Festplattengrößen allmählich an ihre theoretischen Grenzen stießen. Zu diesem Zeitpunkt wurde klar, dass etwas völlig anderes benötigt wurde. Laufwerke wurden auch immer weiter entwickelt, und zu dieser Zeit hatten Laufwerke die Möglichkeit, fehlerhafte Sektoren transparent für das Betriebssystem neu zuzuordnen (dies war zuvor in der Verantwortung des Dateisystemcodes des Betriebssystems und ist der Grund, warum beispielsweise MS -DOS 6.x "ScanDisk" hatte die Möglichkeit, einen physischen Lese- / Schreibdurchlauf über das gesamte Laufwerk durchzuführen. Insbesondere, wenn Sie sich auf dem Gebiet der transparenten Sektor-Neuzuordnung befinden, wird das gesamte Konzept der CHS-Adressierung bedeutungslos, da nichts darüber spricht, dass die von Ihnen angeforderte CHS-Adresse überhaupt etwas mit der zu tun hat, die letztendlich verwendet wird.

Die Idee war geboren, das Laufwerk einfach als ein Bündel von Sektoren anzusprechen . SCSI hatte dies schon seit einiger Zeit , zunächst mit 21-Bit-LBA, später jedoch mit 32-Bit-LBA. Der PC steckte jedoch im CHS-Lager fest, obwohl 22-Bit-LBA auch im ursprünglichen IDE-Standard eine Option gewesen war aus der Mitte der 1980er Jahre . Dies ist LBA oder Logical Block Addressing. Der für unsere Zwecke relevante anfängliche standardisierte LBA-Modus war LBA-28, der das Adressieren von 128 GiB von 512-Byte-Sektoren ermöglichte; in ATA-6 wurde es von LBA-48 abgelöst . Alles modern (die meisten nach 1996) Laufwerke sind LBA, und das Betriebssystem weiß, dass Laufwerke entweder Sektoren mit 512 Byte oder 4096 Byte haben können. Wenn der Festplattentreiber des Betriebssystems eine bestimmte Datenmenge benötigt, gibt er eine Leseanforderung für die Sektornummer N oder die Intervallsektornummern M bis N aus. Das physische Laufwerk kann diese dann auf beliebige Weise in die von ihm verwendete interne Geometrie übersetzen es wählt zu verwenden. Dies umfasst die Zuordnung zu physischen Platten oder Chips und deren Positionen sowie eine transparente Sektorumzuordnung. Das Betriebssystem muss diese Details nie kennen oder sich mit ihnen befassen. Deshalb können Sie einfach eine SSD einstecken und sie funktioniert einfach, obwohl das gesamte Konzept von Zylindern, Köpfen und Sektoren bei Solid-State-Speichern absolut keinen Sinn ergibt.Wir verwenden derzeit die 48-Bit-LBA-Adressierung , mit der 2 ^ 48 (ca. 3 * 10 ^ 14) Sektoren adressiert werden können. Mit 512-Byte-Sektoren können damit 128 PiB adressiert werden. Die Umstellung auf 4.096 Byte Sektoren hat dies theoretisch weiter auf 1 EiB erhöht, obwohl dies wahrscheinlich eine Änderung des Gerätekommunikationsprotokolls erforderlich machen würde. Trotzdem liegen 128 PiB so weit über dem, was mit der derzeitigen Technologie praktisch machbar ist, dass dies zumindest in naher Zukunft kein Problem darstellen dürfte. (Sie benötigen ungefähr 20.000 der neuen 6-TB-Laufwerke, die alle in einem einzigen Array zusammengefasst sind, um noch näher heranzukommen.)

Moderne Antriebe auch SMART - Selbstüberwachungsdaten aussetzen, so dass , wenn das Betriebssystem oder eine Anwendung tut Sorgfalt, kann es einige erfahren, was in Bezug vor sich geht , um zum Beispiel Sektor Remapping. Aber es gibt keine Notwendigkeit für das Betriebssystem auf diesen Informationen zu suchen, weil sie (theoretisch jedenfalls) alles intern vom Laufwerk behandelt wird .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.