1

「ユーザースペース」に次のようなことをさせないための「スーパーバイザー」ビットがいくつかあります。movCS、200h?

どんな保護がありますか?

ありがとう

4

1 に答える 1

2

実際の8086CPUでは?私はそうは思わない。高度な保護機能は、80286で実際に登場し始めました。8086でコードセグメントを設定できるプログラムに制限はありませんでした。

プロテクトモードの80386(これを提供したのはこれが最初だったと思いますが、80286だったかもしれません)では、CS(およびDS、ESなど)の値がセグメントレジスタからセレクタに変更され、記述子テーブルにエントリがあります(例:GDT、LDT)。

その時点で保護は可能になりましたが、違反の原因はセレクターレジスターへのロードではなかったと思います。むしろ、それはあなたの特権レベルより上のセレクターの使用でした。

ただし、CSの場合は、変更後(次の命令を実行しようとしたとき)に非常に迅速に発生します。

詳細については、こちらをご覧ください。

于 2010-12-17T02:10:53.750 に答える