Linuxといえば、普段目にすることは少ないものの、多くのWebアプリケーションがサーバー側のOSとして利用しており、このOSがなければ普段の生活に支障をきたす程普及しています。このLinuxで重要な役割を果たすのが、linux カーネルです。このカーネルにはマイクロカーネルとモノリシックカーネルの2種類があり、それぞれの特徴について紹介します。
linux カーネルのマイクロカーネル
マイクロカーネルは、CPU、メモリ、IPCだけ最小限の要素だけを管理するカーネルです。つまり、コンピューターのその他の部分は全て付属品として扱うため、ユーザーモードで処理を行います。マイクロカーネルのメリットとしては、OSや部品の変更を行ってもOSが同一の方法でハードウェアにアクセスできる限り問題が発生しないということです。
モノリシックカーネル
モノリシックカーネルは、linux カーネルの中でも幅広いコンポーネントを管理し、CPU、メモリ以外にもデバイスドライバ、ファイルシステム、サーバーコールなどを扱います。このカーネルは、メモリやプログラムから情報を直接取得できるので、他のプロセスに頼る必要がないメリットがありますが、動作に不具合が生じた場合にはPCがダウンする可能性があります。