伝統的に、FreeBSD のカーネルは “モノリシック” (monolithic) カーネルと呼ばれるものでした。 これは、カーネルが単一の巨大なプログラムで、 扱えるデバイスは固定されていて、 カーネルの振る舞いを変えたければ新しいカーネルを構築して、 コンピュータを再起動して新しいカーネルを動かさなれければならなかったということです。
今日では FreeBSD は、 カーネルのかなりの機能が必要に応じて動的にカーネルに組み込んだり外したりできるモジュールにおかれているモデルへと、 急速に移行しています。こうしてカーネルは (ノート PC の PCMCIA カードのように) 突如使えるようになったハードウェアに対応したり、 カーネルが作成された時点では必要なかった新たな機能を取り入れられるようになります。 このようなカーネルは、モジュラ (modular) カーネルと呼ばれます。
しかしながら、いまだにいくらかは静的にカーネルを構成する必要があります。 ある場合においては、機能がカーネルとあまりに密接に結びついているため、 動的に組み込むことができません。ほかには、 単に誰もその機能に対する組み込み可能なカーネルモジュールを書く時間をとっていないだけということもあります。
システムに合わせたカーネルの構築は、高度な知識を持つ BSD ユーザが避けて通ることのできない最も重要な通過儀礼の 1 つです。 この作業は、多くの時間を必要としますが、あなたの FreeBSD システムに多くの利益をもたらします。 広範囲のハードウェアをサポートしなければならない GENERIC カーネルとは異なり、 システムに合わせたカーネルは あなたの PC のハードウェアのみをサポートします。これは、 次にあげるような利益をもたらします。
素早く起動します。 カーネルはあなたのシステム上にあるハードウェアしか検出を行わないので、 あなたのシステムの起動にかかる時間を劇的に短くできます。
メモリの消費量を減らすことができます。 システムに合わせたカーネルは、 使用しない機能やデバイスドライバを含まないので、 大抵 GENERIC カーネルより少ないメモリしか消費しません。 カーネルコードは常に物理メモリ上に存在し、 アプリケーションはその容量分のメモリを使用できないので、 これは重要なことです。 したがって、メモリが少ないシステムでは、 カーネルの再構築は大変重要です。
追加のハードウェアをサポートします。 システムに合わせたカーネルは、サウンドカードなど GENERIC カーネルに存在しないデバイスのサポートを追加することができます。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で)
連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で)
送ってください。