カーネル
読み:カーネル
外語:kernel

 階層構造化されたオペレーティングシステム(OS)のうち、基幹部分。英語で、中心部、核心の意。
目次

概要
 コンピューターシステムの様々な資源(リソース)の管理を行ない、抽象化することでハードウェアソフトウェア間のやり取りを仲介する。
 また、一つのシステム上で複数のプログラムの実行を助けるために、プロセスの抽象化、プロセス間通信、システムコールの提供などの機能を提供する。
 趣旨は同じでも様々な実現方法があり、これが延いては無数のオペレーティングシステムを生み出す主因となっている。

構造

カーネル空間
 メモリー保護がなされている近代的なOSでは、ブートローダーがカーネルプログラムを特権モード(カーネルモード)で実行する。
 カーネルプログラムはメモリーに常駐し、システムとしての機能が必要なときにユーザープログラムから呼び出されることになる。
 メモリー空間の管理はカーネルによって様々ではあるが、大きく、カーネル空間ユーザー空間に分けられることになる。カーネル空間で動作するプログラムは特権があり、ハードウェアを操作することができるが、ユーザー空間で動作するプログラムは特権がないため、必要になり次第、カーネルの所定のシステムコールを呼ぶことになる。

機能
 カーネルの機能に定義があるわけではないが、概ね、次のような機能が提供される。

設計
 その機能を提供する方法は様々存在する。現在、次のような設計がよく用いられている。
 一般的な枠組みに入らない「その他」もある。
 シングルタスクのMS-DOSですらカーネル(MSDOS.SYS)は存在するが、中にはカーネルが無いとするuuu(Unununium)なるOS?も存在する。

再検索