カーネルの機能
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/16 14:38 UTC 版)
カーネルの仕事はコンピュータのリソースを管理し、他のプログラムがそれらのリソースを使って動作できるようにすることである。典型的なリソースとしては以下のものがある。 CPU(プロセッサ)。コンピュータの中心となる部分で、プログラムの実行を分担する。カーネルは、多数のプログラムの中からプロセッサ(群)を割り当てるべきものを選択する。基本的にプロセッサは一度に1つのプロセスしか実行できない(複数実行できる場合、カーネルは複数のプロセッサとして認識する)。 メモリ。メモリにはプログラムとデータの両方が格納される。一般にプログラムを実行するには、プログラムとデータの両方がメモリ上になければならない。複数のプログラムがメモリへのアクセスを要求すると、実際に搭載している以上のメモリが必要とされる場合がある。カーネルは各プロセスにメモリを割り当て、全体としてメモリが不足した場合の対処を決定する。 コンピュータには何らかの入出力デバイスがある(キーボード、HDD、USBなど)。カーネルはアプリケーションから入出力要求を受け付け、適切なデバイス(あるいはデバイスの一部、例えばファイルやウィンドウなど)に対して入出力を実行し、デバイスを使用するための便利な方法を提供する(一般に、アプリケーションがデバイスの実装の詳細を知らなくとも済むように抽象化する)。 リソース管理に必要な重要な観点は、実行領域(アドレス空間)の定義とその領域内のリソースへのアクセスを調停する保護機構である。 カーネルはまた、一般にプロセス同士の同期と通信の手段も提供しており、プロセス間通信 (IPC) と呼ぶ。 カーネルは自前でそれらの機能を実装していることもあるし、何らかのプロセスに委任していることもあるが、後者の場合はプロセス間で機能へのアクセスを可能にするIPCを提供する必要がある。 最後に、カーネルはそれら機能群へのアクセスを要求する手段をプログラムに提供しなければならない。
※この「カーネルの機能」の解説は、「カーネル」の解説の一部です。
「カーネルの機能」を含む「カーネル」の記事については、「カーネル」の概要を参照ください。
- カーネルの機能のページへのリンク