マイクロカーネル
マイクロカーネルは、できるだけ小さくなるように設計された最小限のカーネルです。ハードウェアとの通信やオペレーティングシステムの読み込みに必要な基本コードだけを含みます。
現在使われているカーネルの多くは、「モノリシックカーネル」と呼ばれることもあり、数百万行のコードを含んでいます。たとえば、Linux 3.0のカーネルには1,500万行を超えるコードが含まれています。一方、マイクロカーネルは通常、コードが1万行未満です。システムプロセスの大部分をカーネル自体ではなくユーザーモードで読み込むことで、小さいサイズを維持できます。
モノリシックカーネルには、デバイスドライバー、ファイルシステムのサポート、アプリケーション向けのプロセス間通信(IPC)プロトコルなどが含まれる場合があります。マイクロカーネルに含まれるのは、基本的なシステムIPCプロトコルとメモリ管理機能だけです。それ以外はすべてユーザーモード(ユーザーがログオンしたとき)で読み込まれます。これによりカーネルのサイズを小さく保てるだけでなく、カーネルによってカスタムドライバーやファイルシステムを読み込めるため、モジュール型のOSも実現できます。
マイクロカーネルは、初期のコンピューターシステムにおけるメモリとストレージの制限から、1980年代に広く使われました。現在も一部のサーバーOSで使われていますが、WindowsやOS Xなど、主要なオペレーティングシステムの多くはモノリシックカーネルを使用しています。
知識をテストする