マイクロカーネル
読み:マイクロカーネル
外語:micro kernel

 オペレーティングシステム(OS)の機能のうち、必要最小限のみをカーネル空間内に置き、それ以外をユーザー空間に置く、カーネルの設計思想。
目次

概要
 旧来の、全ての機能が一枚岩になったモノリシックカーネルと比較すると、カーネル自体の規模を抑えて簡素化できる。
 カーネルが受け持つのは、メモリー管理、プロセス管理、プロセス間通信などに限り、それら以外でOSとして必要なサービスは、システムサーバーと呼ばれるプロセスをユーザー空間で動作させることで提供する。
 明確にモジュール化が行なわれるため全体として見通しが良い設計となるが、あらゆる場面でプロセス間通信が必要となることから、プロセス間通信によるオーバーヘッドが問題となる。

主な実装
Mach
 ごく初期に開発されたもの。マイクロカーネル化されたのはMach 3.0からであり、元々マイクロカーネルとして設計されたわけではなかった。
 このため、中途半端に巨大なマイクロカーネルであるとされている。次のようなOSで採用された(ABC順)。
 ただし、Mac OS Xの実装はマイクロカーネルではない。
L4
 Machにある様々な問題を解決することを目指した、第二世代マイクロカーネル。
 徹底的なマイクロ化を進める一方、高速なメッセージ通信を実装することでパフォーマンスをも追求した。
 QUALCOMMのリアルタイムOS「REX OS」のベースとして広く普及している。
GNU Hurd
 UNIX互換のマイクロカーネルとして立案、開発が始まったが、完成しなかった。
 現在公開されているHurdはカーネルではなく、Mach上で動作するサーバーである。
BeOS
 独自のマイクロカーネルを実装したGUI OSで、元々はPowerPC搭載機で動作し、その後PC/AT互換機に移植された。

再検索