カーネルの構造(モノリシックカーネル・マイクロカーネル)とは?かーねるのこうぞう
カーネルの構造(モノリシックカーネル・マイクロカーネル)とは、OSの機能のうち、どこまでを特権空間に残すかという構造の選択。デバイス制御やファイルシステムまで抱え込んで呼出しを関数呼出しで済ませるのがモノリシック、最小限だけ残して他を利用者空間のサーバへ追い出すのがマイクロカーネルで、速度と隔離性が正面から衝突する。
最終更新:2026-10-06
システムアーキテクトを最短で暗記・合格する →背景
カーネル内のコードは特権で動くため、1つの不具合が系全体を落とす。機能が増えるほどこの面積が広がるので、機能を外へ出して隔離しようという方向が生まれた。ところが機能間の呼出しは関数呼出しからプロセス間通信に変わり、往復のたびに文脈切替えの費用が乗る。この費用を払ってでも隔離が欲しいかどうかが、構造の選択そのものになる。
具体例
Linuxはモノリシックだがドライバを動的に着脱でき、汎用サーバの入出力性能を取りにいく構成。一方、車載や医療機器で使われるQNXはマイクロカーネルで、ドライバが落ちてもそのサーバプロセスの再起動だけで復旧し、機器全体を止めずに済む。
試験での引っ掛け
マイクロカーネルを「軽いから速い」と覚えると逆になる。連携がプロセス間通信になる分だけ一般には遅く、対価として得るのは障害波及の局所化と部品の入替えやすさ。ドライバをモジュール化しただけのモノリシックカーネルを、構造上のマイクロカーネルと呼ばない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。