カーネル

カーネルとは

カーネルとは、アプリケーションの実行を許可しプロセス管理やハードウェアとソフトウェアを中継するプログラムです。

ハードウェアの上に載っているソフトウェア基盤のことをOSといいます。

カーネルはOSの一部であり、特にハードウェアとソフトウェアを中継する核となる部分を指します。

2種類のカーネル

カーネルには2種類あります。

モノリシックカーネル(Monolithic Kernel)とは、OS機能も含めてほとんどの機能をカーネルに盛り込んだ設計です。

入出力の機能、ネットワーク機能、デバイスのサポートなどをカーネルが一手に引き受けます。

マイクロカーネル(Micro Kernel)とは、OSの中核として必要最小限の機能だけをカーネルに盛り込んだ設計です。

カーネルは割り込み処理やプロセス間通信の処理などは行いますが、その他は各モジュールでカスタマイズできるようにします。

メリット・デメリットは、仕立て屋と同じです。すべて機能を包括している既製品のモノリシックカーネルの方が使いやすいでしょう。しかし、将来的にカスタマイズして、より機能を追加したいのであればマイクロカーネルを採用します。