2012-06-17 13 views
8

IBM PCアーキテクチャーを使用する理由55 AAブートシグネチャのブートセクターの最後の2バイトにマジックナンバーが表示されるのはなぜですか?IBM PCでブートシグネチャとして55 AAが使用されるのはなぜですか?

私は、彼らがしているビットパターンとは何かがある可能性がある:01010101 10101010が、何を知らないし。

私の推測があることです:

  1. BIOSが一緒にそれらを比較するためにこれらのバイトにいくつかのビット単位のAND/OR/XOR演算を行っていると、それは、例えば、0になりた場合、それは簡単にそれを検出することができますし、どこかにジャンプする。
  2. これらのビットのいくつかが壊れていると、ディスク上のこの特定のビットが壊れていてもシステムを適切に起動するための有効なシグネチャと見なされる可能性があります。何か。

たぶん、あなたの誰かが、私はこのしつこい質問に答えるだろうか?

私はかつてこれらのビットパターンについてどこかで読んだが、どこ覚えていない覚えています。私はネット上でそれについて何も見つけることができないので、それはいくつかのペーパーブックにあります。

+0

なぜこれがofftopicですか? – Calmarius

答えて

5

私は10101010 01010101は、素敵なビットパターンのように思えたので、それが任意に選択されたと思います。アップルの[+リセットベクトルは$ A5から(10100101)でxor'edされ、チェック値が生成されました。一部のマシンでは、ブート検証に「特定の」ものを使用していました。 PET由来のマシン(コモ・ビジネス・マシーンズにより例えばVIC-20とコモドール64)、例えば、に位置していたブート可能なカートリッジ画像についてアドレス$ 8000は、$ 8004のアドレスにPETASCII文字列 "CBM80"が格納されています($ A000から始まるカートは$ A004などの文字列 "CBMA0"を持ちます)が、IBMは他のマシンのディスクはないと思います最初のセクタの最後の2バイトに$ 55AAが挿入されています。

+2

はい、他のアーキテクチャではかなり恣意的です。しかし、IBM PCでは、何らかのデータの完全性のチェックや特定のディスク障害に対する保護と関係があると私はどこか読んだことがあると確信しています。しかしどこでも詳細を見つけることはできません。 – SasQ

関連する問題