8.2 為何需要重新調配、編譯 kernel?

早期的 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 不同處在於:可以更『體貼』,只支援『自己硬體』的部分就好。 好處在於,譬如︰

This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.