マイクロカーネル（）とはオペレーティングシステム (OS) の設計思想、及びそのようなOSのカーネル部の名称である。OSが担う各種機能のうち、必要最小限のみをカーネル空間に残し、残りをユーザーレベルに移すことで全体の設計が簡素化でき、結果的にカスタマイズ性が向上し、性能も向上できるというOSの設計手法のことである。カーネル本体が小規模な機能に限定されるので「マイクロカーネル」と呼ばれるが、必ずしも小さなOSを構成するとは限らない。
マイクロカーネルの出現に伴い、従来型のOSを「モノリシックカーネル（一枚岩のカーネルという意）」と呼ぶようになった。マイクロカーネルの思想を更に推し進めたナノカーネルも提唱されている。
特徴.
純粋なマイクロカーネルでは、まずカーネル空間で提供される機能を、メモリ空間の仮想化、プロセス制御、プロセス間通信に限定し、割り込みなども全て通信にマップする。その上でファイルシステムやデバイスドライバといった準カーネル機能をそれらのアプリケーションとして実装し、ユーザー空間で動作させる。場合によってはそれらの機能セットをサーバと呼ばれる単位で複数動作させる。
このような形態を持つ事のメリットは、
などである。また一般にマイクロカーネルでは資源の抽象度が高く、マルチプロセッサ対応やネットワーク透過の通信が自然に実装できるため、大規模な資源利用には有利である。
反面あらゆる場所でプロセス間通信を利用する為、機能相互のオーバーヘッドが大きく、モノリシックカーネルと同等の機能を実装した場合、数パーセントから数倍のロスが出る場合がある。特にコンテキストスイッチのコストを避けるため、必要な機能をカーネル空間に移し、見た目上モノリシックカーネルのように動作させる場合もある()。
歴史.
マイクロカーネルはそのような「UNIXの再設計」という観点から始まっている。理論上、マイクロカーネル設計はカーネルの一部だったサービス群をユーザー空間に切り出すことでコードの管理を容易にするとされていた。また、カーネルモードで動作するコードの量を減らすことで、セキュリティと安定性が増すと考えられた。例えば、ネットワークサービスがバッファオーバーランでクラッシュしても、マイクロカーネルは影響を受けないので、システム全体としては機能し続けることができる。