[解決済み] CPU Privilege Rings。なぜリング1、2は使われないのか?
2022-09-07 06:25:15
疑問点
x86 CPU の特権リングに関するいくつかの質問です。
-
なぜほとんどのオペレーティングシステムではリング 1 とリング 2 を使用しないのでしょうか。他のアーキテクチャとのコードの互換性を維持するためだけなのでしょうか、それとももっと良い理由があるのでしょうか。
-
これらのリングを実際に使用するオペレーティングシステムはあるのでしょうか?あるいは、まったく使われていないのでしょうか?
どのように解決するのですか?
趣味の OS 作家として、ページング (現代の保護モデルの主要部分) には特権 (リング 0,1,2) と非特権という概念しかないため、リング 1 と 2 に対するメリットが大幅に減少していることに気づきました。
Intel がリング 1 とリング 2 を持つ意図は、OS がデバイス ドライバーをそのレベルに置くことであり、特権はあるがカーネル コードの残りから多少分離されていることです。
リング 1 とリング 2 は、ある意味で、ほとんど特権を与えられています。これらはスーパーバイザ ページにアクセスできますが、特権命令を使用しようとすると、リング 3 と同様に GPF が発生します。ですから、Intel が計画したように、ドライバにとって悪い場所ではないのです...。
とはいえ、いくつかのデザインでは間違いなく使用されています。実際、常に OS によって直接使用されるわけではありません。たとえば 仮想ボックス , a 仮想マシン では、ゲストカーネルのコードをリング 1 に配置します。また、一部のオペレーティング システムではこれらを利用していると思いますが、現時点では一般的な設計ではないと思われます。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン