早期的 FreeBSD 的 kernel 被戲稱為 “monolithic” kernel。 這意思是說當時的 kernel 是個大塊頭程式,且只支援固定的硬體而已。 如果您想改變 kernel 的設定,那麼必須編譯一個新的並重新開機,才能啟用。
現在的 FreeBSD 已快速成長到新型態的管理模式,其重要特色是: kernel 功能可以隨時依據需求, 而以動態載入或卸載相關的 kernel module。 這使得 kernel 能夠快速因應新的環境而作調整 (有點像是:筆記型電腦上的 PCMCIA 卡一樣即插即用) ,或是增加其他原本的預設 kernel(GENERIC)所沒有的功能。 這種模式,就叫做 modular kernel(核心模組)。
儘管如此,還是有一些功能仍須編譯在 kernel 內才行。因為有時候是因為這些功能與 kernel 結合的相當複雜緊密,而無法將它們弄成可動態載入的 module ;而有時候,則是因為沒有人有空來弄那些 kernel module 的實作。
重新調配、編譯 kernel 幾乎是每位 BSD 使用者所必須經歷的過程。 儘管這項工作可能比較耗時,但在 FreeBSD 的使用上會有許多好處。 跟必須支援大多數各式硬體的 GENERIC kernel 相比的話, 自行調配 kernel 不同處在於:可以更『體貼』,只支援『自己硬體』的部分就好。 好處在於,譬如︰
開機速度更快:因為自行調配的 kernel 只需要偵測您系統上的硬體, 所以讓啟動所花的過程更流暢快速。
佔用的記憶體更少:自行調配的 kernel 通常會比 GENERIC 核心使用更少的記憶體,由於 kernel 必須一直存放在記憶體內,因此這就顯得更加重要。因此, 對於記憶體較小的系統來說, 自行調配的 kernel 就可發揮更多的作用、揮灑空間。
可支援更多硬體:您可在自行調配的 kernel 增加一些原本 GENERIC 核心沒有提供的硬體支援,像是音效卡之類的。
本文及其他文件,可由此下載:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀 FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢 <doc@FreeBSD.org>。