次のページ 前のページ 目次へ

2. 重要な質問とそれに対する解答

2.1 とりあえずカーネルは何をするの?

Unix のカーネルは,プログラムとハードウェアの仲介者として働きます. まず,すべての動作中のプログラム(プロセス)のメモリー管理(とそのための 調整)を行いますし,またそれらのプロセスが公平に(お好みとあらば不公平に) プロセッサのサイクルを共有できるようにします.さらに,プログラムがハード ウェアと対話するための素晴らしい,またかなり汎用性のあるインターフェース を提供します.

カーネルにはこれ以外にも機能がありますが,以上の基本的な機能だけは知ってお くべきでしょう.

2.2 カーネルをアップグレードするといいことがあるの?

新しいカーネルを使うと,たいていはより多くのハードウェアが使えるように なります(すなわち,より多くのデバイスドライバがついてくる)し,プロセス管理 もよくなりますし,古いバージョンより速く動作しますし,古いバージョンよ り安定しているかもしれませんし,また古いバージョンのくだらないバグが修 正されています.ほとんどの人は,新しいデバイスドライバが欲しかったり, バグを修正したいのでカーネルをアップグレードするのです.

2.3 新しいカーネルはどんなハードウェアをサポートしているの?

Hardware-HOWTO を見てください.その代わりに,Linux のソースに入ってい るファイル `config.in'を見てもいいし,`make config' するときにもわかります.これで標準のカーネル配付でサポートされるすべて のハードウェアを知ることができますが,これが Linux がサポートするハー ドウェアのすべてというわけではありません.多くの共通のデバイスドライバ (PCMCIA ドライバや一部のテープドライバなど)は標準カーネルとは別々に管 理・配付されるローダブルモジュールです.

2.4 gcc と libc のバージョンはいくつじゃないとだめなの?

Linus は Linux のソースに含まれている README ファイルに書かれ ているバージョンの gcc を推奨しています.もしこのバージョンを持ってい なかったら,推奨されているバージョンの gcc のドキュメントに,libc をアッ プグレードする必要があるかどうかが書かれています.アップグレード作業は そんなに難しくはありませんが,説明にしたがうことが大切です.

2.5 ローダブルモジュールってなに?

ローダブルモジュールとは,カーネルには直接リンクされない(カーネル本体には含 まれない)カーネルコードのかけらです.個別にコンパイルし,ほとんどいつでも動 作中のカーネルに組み込んだり取り外したりすることができます.柔軟性ゆえ,特定 のカーネル機能を実現するのに,好んで用いられています.よく使われている デバイスドライバの多く,例えば PCMCIA ドライバや QIC-80/40 テープドラ イバは,ローダブルモジュールです.

2.6 ディスクの空きスペースはどれくらいいるの?

あなたのシステム設定しだいです.まず,圧縮した Linuxの ソースはバージョ ン 2.2.9 で 14 メガバイト弱というところです.ほとんどのサイトでは展開 した状態のファイルも置いています. 展開してから適切な設定で構築を行うと,さらに 67 MB が必要になります.

2.7 どれくらい時間が掛かるの?

新型のマシンでコンパイルすれば,古いマシンよりも劇的に早く終わります. AMD K6-2/300 に高速なディスクを付ければ,2.2.x のカーネルは約 4 分でコ ンパイルできます.古い Pentium, 486, 386 でカーネルをコンパイルしよう と思っていたら,時間単位,1 日単位で待つ覚悟をしてください….

これが嫌であり,かつ近くにたまたま高速なマシンがあるならば,高速なマシ ンでコンパイルして(適切なパラメータを指定していることや,ユーティリティ が新しいこと等を想定しています),そのカーネルイメージを遅いマシンに転 送するという手もあります.


次のページ 前のページ 目次へ