カーネル
カーネル: Kernel)は、階層型に設計されたオペレーティングシステム (OS) の中核となる部分である。システムのリソースを管理し、ハードウェアソフトウェアコンポーネントのやりとりを管理する。オペレーティングシステムの基本コンポーネントとして、カーネルはメモリCPU入出力を中心としたハードウェアを抽象化し、ハードウェアとソフトウェアがやり取りできるようにする。また、ユーザープログラムのための機能として、プロセスの抽象化、プロセス間通信システムコールなどを提供する。これらのタスクはカーネルによって方式が異なり、設計も実装も異なる。モノリシックカーネルは全てを一つの仮想アドレス空間に格納されたコードで実行して性能を向上させようとする。マイクロカーネルはサービスの大部分をユーザー空間で実行し、コードの保守性とモジュール性を向上させようとする(※An overview of Monolithic and Micro Kernels, by K.J.)。多くのカーネルはこの二つのカテゴリのいずれか、あるいは中間である。

1 概要
2 カーネルの機能
 プロセス管理
 メモリ管理
 デバイス管理
 システムコール
3 カーネル設計手法
 モノリシックカーネル
 マイクロカーネル
 モノリシックカーネルとマイクロカーネル
 ハイブリッドカーネル
 ナノカーネル
 Exokernel
 他の設計
4 カーネル開発史
 初期のOSカーネル
 タイムシェアリングOS
 UNIX
 マイクロカーネルの開発
5 脚注
6 関連項目