モノリシックOSと階層型OSの主な違いは、モノリシックOSではOS全体がカーネル空間で動作するのに対し、階層型OSではいくつもの階層があり、それぞれが異なるタスクを実行することです。
オペレーティングシステムは、システム全体の機能を管理する。
プロセス管理、タスクスケジューリング、デバイスやファイルの管理など、さまざまな機能を扱います。
また、データとリソースのセキュリティも提供します。
したがって、コンピュータ全体の動作は、オペレーティングシステムに依存します。
また、これらのオペレーティングシステムは、様々な種類があり、そのうちの2つは、モノリシックとレイヤードオーエスです。
モノリシック・オペレーティング・システムとは?
モノリシックオペレーティングシステムには、アプリケーション層、モノリシックカーネル、ハードウェア層という3つの主要な層があります。
これらのオペレーティングシステムでは、すべてのアプリケーションが独自のアドレス空間を持っています。
したがって、アプリケーションはより安全です。
カーネルは、ファイルシステム、CPUスケジューラ、メモリマネージャなどのOSサービスを処理する。
アプリケーションは、システムコールを介してカーネルにサービスを要求する。
アプリケーションがサービスを要求すると、アプリケーションのハードウェアアドレス空間がOSのハードウェアアドレス空間に切り替わり、サービスが実行される。
モノリシックOSは、コンピュータのハードウェア上で高水準の仮想インタフェースを扱う。
また、この中で、デバイスドライバをモジュールとしてカーネルに追加することが可能である。
レイヤー型オペレーティングシステムとは
レイヤードオペレーティングシステムとは、様々な層に分かれたオペレーティングシステムのことです。
そして、これらの層はそれぞれ何らかの機能を実行します。
層状オペレーティングシステムを開発する目的は、モノリシックなオペレーティングシステムの制限を回避することです。
階層型OSでは、すべての階層が別々に存在し、ある階層で修正を加えても他の階層に影響を及ぼさない。
したがって、階層型オペレーティングシステムの作成、保守、更新も容易です。
さらに、最下層の層はハードウェア関連の操作を行い、最上層の層はユーザーアプリケーションを扱う。
層状オペレーティングシステムには、主に6つの層があります。
それらは以下の通りです。
ハードウェア – OSのアーキテクチャの中で最も低い層。
ハードウェアデバイスを扱う。
CPU層 – スケジューリングタスクを処理し、CPUのプロセスをスケジューリングする。
メモリ管理 – メモリを扱う。
ディスクから一次メモリにプロセスを移動して実行し、実行されたプロセスをディスクに送り返す。
プロセス管理 – プロセスを管理します。
この層は、プロセスの実行にCPUを割り当てます。
IOバッファ – ユーザーがシステムと対話できるようにし、IOデバイスのバッファを管理し、IOデバイスが正しく動作するようにします。
ユーザープログラム – 階層型オペレーティングシステムの最上位層で、ワープロやブラウザーなどのユーザープログラムを管理します。
モノリシックOSとレイヤーOSの違い
定義
モノリシック・オペレーティング・システムとは、OS全体がカーネル空間で動作するOSアーキテクチャのことである。
これに対し、階層型OSとは、OSをいくつかの層に分割し、各層が特定の機能を実行するようにしたものです。
したがって、これがモノリシックOSとレイヤー型OSの大きな違いです。
レベル数
レベルの数も、モノリシックOSとレイヤーOSの大きな違いです。
モノリシックなオペレーティングシステムでは、主に3つの層があります。
しかし、階層型オペレーティングシステムでは、より多くの階層があります。
結論
モノリシック・オペレーティングシステムとレイヤード・オペレーティングシステムは、2つのオペレーティングシステムです。
モノリシックOSと階層型OSの主な違いは、モノリシックOSではOS全体がカーネル空間で動作するのに対し、階層型OSではそれぞれが異なるタスクを実行する層がいくつもあることです。