CPUとOSの抽象化レベルの間の相互運用
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/19 15:36 UTC 版)
「リングプロテクション」の記事における「CPUとOSの抽象化レベルの間の相互運用」の解説
多くのCPUアーキテクチャは、実際のオペレーティングシステムが利用する以上の柔軟性を提供している。複雑なCPUモード群をまともに活用しようとすると、OSとCPUの密接な協力が必要となり、OSがそのCPUアーキテクチャに依存することになる。OSとCPUが互いを意識して設計されている場合は問題ないが(それでも一部ハードウェア機能は利用されないことがある)、OSが複数のプラットフォーム(異なるCPUアーキテクチャ)で動作するよう設計されている場合、CPUモード機能の大部分は無視されることになる。例えば、Windows が2つのリング(リング0とリング3)しか使わないのは、かつてx86以外のアーキテクチャ(PowerPCやMIPS)もサポートしていたためで、最大公約数が2つの特権レベルだった。 Multicsは特定のCPUアーキテクチャ向けに設計されており、そのCPUアーキテクチャもMultics用に設計されている。そのため利用可能なCPUモード群を全て利用している。しかし、これは例外である。今日、OSとハードウェアが密接に相互依存することは、セキュリティと安定の観点からはよいことだが、費用効果が悪い。 マイクロカーネルは、主にセキュリティと簡潔さのために特権モードで実行するコード量を最小化しようとするが、そのために性能が犠牲になることが多い。
※この「CPUとOSの抽象化レベルの間の相互運用」の解説は、「リングプロテクション」の解説の一部です。
「CPUとOSの抽象化レベルの間の相互運用」を含む「リングプロテクション」の記事については、「リングプロテクション」の概要を参照ください。
- CPUとOSの抽象化レベルの間の相互運用のページへのリンク