広義のLinuxを構成する要素を大きく分けると次のようになります. どのようなOSにも,最初に主記憶上にロードして実行されるソフトウェアが存在します.Linuxの場合,それをカーネルと呼び,それがLinuxの本体そのものです. 一般に,LinuxはLILOというブートローダによって主記憶上にロードされ,実行されます.筆者の環境はTurbolinux Workstation日本語版6.0ですが,LILOの設定ファイルは/etc/lilo.confに指定されています(リスト1).
このリストの中でimage=/boot/vmlinuzとありますが,これがカーネル,つまりはLinuxの本体です.そして,/bootの下にはカーネルの関連ファイルがあります(リスト2).この場合はvmlinuz-2.2.16がvmlinuzにリンクされています.ここからカーネルのバージョンが2.2.16であることがわかります.
また,カーネルのソースコードは/usr/src/linuxにあります.一般的なオプションでインストールすれば,そこにソース一式が入っているはずです. カーネルから見た場合,カーネルがメインルーチンならばLinux上で実行されているすべてのタスクはそこから呼び出されることになります.それぞれのタスクはお互いのタスクの資源にアクセスし,消費し,改変します. OSの利用者から見た場合,ps -alとコマンドを入力して表示される各プロセスは,そのままそのマシン上で動いている「プログラム」です.しかし,OSの内部から見た場合,これらはカーネルのタスクなのです. つまり,カーネルとはOSそのものであり,Linuxの存在そのものでもあるプログラムなのです.
Copyright 2001 岸 哲夫 |