Kenji Arisawa Aichi University |
![]() |
カーネルとはコンピューターのハードウェア資源を管理し、そのコンピューターで実行されるプログラムがトラブルなく円滑に動作する事を目的とした特殊なプログラムである。
現代のコンピュータは様々なプログラムが並列的に動いている。その場合には実行中のプログラムに対して適切にハードウェアの貸し出し管理を行う必要に迫られる(注1)。(ハードウェア資源が無限であれば管理を行う必要はないであろう。しかし現実は有限である。)
注1: 例えばメモリーや CPU を貸し出さなくてはならない。
貸し出し管理が必要なのはコンピューターの世界だけではない。実社会においてもごく普通に見られるやり方である。次のイラストは銀行の風景であるが、スケートリンクに置けるスケート靴の貸し出しなどいくらでも例を挙げる事ができる。実社会においては貸し出し管理は人手を通じて行われるが、コンピューターの中ではカーネルが自動的に行っている。
ところでカウンターって何のためにあると思いますか? ひじをついたり、ペンで何かを書くためのものではないのですよ。お客さんが勝手にオフィスの中に入れないようにガードしているのですよ。
受付の人は何のためにいると思いますか? お客さんのリクエストにたいして、専門的な理解をし、リクエストをお客さんに代わって実行するためにいるのですよ。
カーネルの仕事も同様です。もっとも「お客さん」と言うのは人ではなくプログラムですが…