IBM PCアーキテクチャが、ブート シグネチャ55 AA
のブートセクタの最後の 2 バイトでマジック ナンバーを使用するのはなぜですか?
私はそれがビットパターンと関係があると思います: 01010101 10101010
、しかし何がわからない.
私の推測は次のとおりです。
- BIOS は、これらのバイトに対していくつかのビット単位および/または xor 操作を行ってそれらを比較します。たとえば、結果が 0 の場合、それを簡単に検出してどこかにジャンプできます。
- これらのビットの一部が破損している場合、それが検出されたり、ディスク上のこの特定のビットが破損したりした場合でも、システムを適切に起動するための有効な署名と見なされる可能性があるという、パリティ/整合性のセーフガードになる可能性があります。
誰かがこのしつこい質問に答えるのを手伝ってくれませんか?
これらのビット パターンについてどこかで読んだことがありますが、その場所は覚えていません。また、ネット上では何も見つからないため、紙の本に掲載されている可能性があります。