Woher wissen Computer die Kapazitäten der damit verbundenen Laufwerke?
Frühe PC-Festplattenlaufwerke (z. B. ST506, MFM, RLL) erforderten vom Benutzer eingegebene Parameter für die Laufwerksgeometrie (dh Anzahl der Sektoren pro Spur, Anzahl der Schreib- / Leseköpfe und Anzahl der Zylinder) für die CHS-Adressierung . Natürlich haben (IBM) PCs eine Sektorgröße von 512 Bytes angenommen / definiert.
Diese Parameter wurden normalerweise im BIOS des PCs gespeichert.
Bei IDE-Laufwerken wurde der ATA-Befehlssatz eingeführt, der einen Identify Device
Befehl (mit dem Befehlscode 0xEC) enthielt, der die Laufwerksgeometrie und andere Informationen meldete.
Bei der Version 3 von ATAPI war die Antwort auf diesen Befehl die total number of user addressable sectors
. (Ich habe keine frühere Version der ATAPI-Spezifikation, daher bin ich mir nicht sicher, was genau in der Antwort vor ATA-3 enthalten war.)
Unter Verwendung der Gesamtzahl der Sektoren und der Sektorgröße die Gesamtkapazität des Laufwerks ist leicht zu berechnen.
Da moderne ATA-Versionen (z. B. SATA-Laufwerke mit Zonenbitaufzeichnung) keine CHS-Adressierung mehr unterstützen, ist die Laufwerksgeometrie irrelevant (und aufgrund der Zonenbitaufzeichnung nicht einmal konstant ).
USB-Flash-Laufwerke verwenden den USB einfach als Transportprotokoll und implementieren den ATA-Befehlssatz genauso wie HDDS und SSDs. Die Kapazität von USB-Flashlaufwerken (und SATA-Festplatten / SSDs) kann daher leicht durch Abfragen des Laufwerks mithilfe des ATA- Identify Device
Befehls ermittelt werden.
SD-Karten verfügen über ein proprietäres Befehlsprotokoll zur Verwendung über ihre Schnittstelle. Die Kapazität, die Geschwindigkeitsfunktionen und andere Informationen der Karte werden als Antwort über die Befehlszeile (und nicht über die Datenschnittstelle der Karte) gemeldet.
Betriebssysteme bieten in erster Linie einen Benutzerzugriff auf Massenspeichergeräte wie Festplatten und SSDs als Dateisysteme.
Nach PC-Konventionen muss das Laufwerk partitioniert sein und ein Dateisystem muss in einer Partition des Laufwerks vorhanden sein. Beachten Sie, dass Disketten und optional USB-Flash-Laufwerke nicht partitioniert sind.
Die wichtigsten Parameter des Laufwerks (dh die Start- und Endsektor- / LBA-Adressen) der Partitionen werden aus der Partitionstabelle abgerufen (die sich im MBR- oder GPT-Sektor befindet).