カーネルとは
カーネルとは、アプリケーションの実行を許可しプロセス管理やハードウェアとソフトウェアを中継するプログラムです。
ハードウェアの上に載っているソフトウェア基盤のことをOSといいます。
カーネルはOSの一部であり、特にハードウェアとソフトウェアを中継する核となる部分を指します。
2種類のカーネル
カーネルには2種類あります。
モノリシックカーネル(Monolithic Kernel)とは、OS機能も含めてほとんどの機能をカーネルに盛り込んだ設計です。
入出力の機能、ネットワーク機能、デバイスのサポートなどをカーネルが一手に引き受けます。
マイクロカーネル(Micro Kernel)とは、OSの中核として必要最小限の機能だけをカーネルに盛り込んだ設計です。
カーネルは割り込み処理やプロセス間通信の処理などは行いますが、その他は各モジュールでカスタマイズできるようにします。
メリット・デメリットは、仕立て屋と同じです。すべて機能を包括している既製品のモノリシックカーネルの方が使いやすいでしょう。しかし、将来的にカスタマイズして、より機能を追加したいのであればマイクロカーネルを採用します。