モノリシックカーネル

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

モノリシックカーネル、マイクロカーネルハイブリッドカーネルベースのオペレーティングシステムの構造

モノリシックカーネルは、オペレーティングシステム全体がカーネル空間で動作しているオペレーティングシステムアーキテクチャです。モノリシックモデルは、他のオペレーティングシステムアーキテクチャ(マイクロカーネルアーキテクチャなど)[1] [2]とは異なり、それだけでコンピュータハードウェア上に高レベルの仮想インターフェイスを定義します。プリミティブまたはシステムコールのセットは、プロセス管理、同時実行性メモリ管理などのすべてのオペレーティングシステムサービスを実装しますデバイスドライバは、モジュールとしてカーネルに追加できます

ロード可能なモジュール

OS-9などのモジュラーオペレーティングシステムや、 OpenVMSLinuxBSDSunOSAIXMULTICSなどの最新のモノリシックオペレーティングシステムは、実行時に実行可能モジュールを動的にロード(およびアンロード)できます。

オペレーティングシステムのこのモジュール性は、アーキテクチャレベルではなく、バイナリ(イメージ)レベルにあります。モジュラモノリシックオペレーティングシステムは、マイクロカーネルとサーバー(モジュールまたはデーモンと間違えないでください)を使用する サーバークライアントオペレーティングシステム(およびハイブリッドカーネルとして販売されることもあるその派生物)に固有のモジュール性のアーキテクチャレベルと混同しないでください。

実際には、モジュールを動的にロードすることは、別のオペレーティングシステムイメージで再起動するのではなく、実行時にオペレーティングシステムイメージを処理するためのより柔軟な方法です。モジュールを使用すると、必要に応じてオペレーティングシステムの機能を簡単に拡張できます。[3]動的にロード可能なモジュールは、モジュールをオペレーティングシステムイメージに組み込む場合と比較して、わずかなオーバーヘッドが発生します。

ただし、場合によっては、モジュールを動的に(必要に応じて)ロードすると、カーネル空間で実行されるコードの量を最小限に抑えることができます。たとえば、組み込みデバイスやハードウェアリソースが限られているデバイスのオペレーティングシステムのフットプリントを最小限に抑えるためです。つまり、アンロードされたモジュールは、希少なランダムアクセスメモリに格納する必要はありません。

モノリシックアーキテクチャの例

も参照してください

参考文献

  1. ^ 「Minix3のモジュラーシステムプログラミング」 (PDF)
  2. ^ 「サーバークライアント、または階層構造」(PDF)PARASマイクロカーネルの設計。2010年7月17日にオリジナル(PDF)からアーカイブされました2009年7月15日取得
  3. ^ 「カーネル定義」