Warum wird auf IBM PCs 55 AA als Boot-Signatur verwendet? [geschlossen]

8

Warum verwendet die IBM PC Architektur 55 AA magische Zahlen in den letzten zwei Bytes eines Bootsektors für die Startsignatur ?

Ich vermute, das hat etwas mit den Bitmustern zu tun, die sie sind: 01010101 10101010 , weiß aber nicht was.

Meine Vermutungen sind das:

  1. Das BIOS macht einige bitweise und / oder / xor-Operationen an diesen Bytes, um sie miteinander zu vergleichen, und wenn es zum Beispiel zu 0 führt, kann es das leicht erkennen und irgendwo springen.
  2. es könnte eine Paritäts- / Integritätssicherung sein, dass, wenn einige dieser Bits kaputt sind, könnte es entdeckt werden oder etwas und immer noch als eine gültige Signatur angesehen werden, um das System korrekt zu booten, selbst wenn diese bestimmten Bits auf der Platte beschädigt wurden etwas.

Vielleicht könnte jemand von Ihnen mir helfen, diese quälende Frage zu beantworten?

Ich erinnere mich, dass ich einmal irgendwo etwas über diese Bitmuster gelesen habe, mich aber nicht mehr erinnere, wo. Und es könnte in irgendeinem Papierbuch sein, weil ich nichts darüber im Netz finden kann.

    
SasQ 17.06.2012, 21:39
quelle

1 Antwort

5

Ich denke, es wurde willkürlich gewählt, weil 10101010 01010101 wie ein nettes Bitmuster erschien. Der Apple] [+ reset-Vektor wurde mit $ A5 bis (10100101) xoriert, um einen Prüfwert zu erzeugen. Einige Maschinen verwendeten etwas "Spezifischeres" für die Boot-Validierung; für von PET abgeleitete Maschinen (z. B. die VIC-20 und Commodore 64 von Commodore Business Machines), ein bootbares Kartuschenbild, das sich z. Adresse $ 8000 hätte die PETASCII-Zeichenfolge "CBM80" bei Adresse $ 8004 gespeichert (ein Einkaufswagen, der bei $ A000 beginnt, würde die Zeichenfolge "CBMA0" bei $ A004 usw. haben), aber ich denke, IBM dachte nicht, dass Platten für irgendeine andere Maschine geeignet wären eingefügt werden und $ 55AA in den letzten zwei Bytes des ersten Sektors haben.

    
supercat 17.06.2012 21:50
quelle