过去, FreeBSD 采用称作 “单片式” 的内核。 这句话的意思是说内核是一个大的程序, 支持固定的设备, 如果您希望改变内核的行为则必须编译一个新的, 并重新启动计算机来引导它。
今天, FreeBSD 已经迅速地转移到了一个新的模型, 其重要特征是内核功能可以由能够根据需要动态加载和卸载的模块来提供。 这是的内核能够迅速地适应硬件的调整 (例如笔记本电脑的 PCMICA), 或为内核增加在最初编译它时所不具备的新的功能。 这一模式成为模块化内核。
尽管如此, 一些功能仍然需要静态地连编进内核。 一些情况是因为这些功能于内核的结合十分紧密, 而不可能将它们做成可以动态加载的。 另一种情况是因为没有人有时间来编写实现那个功能的可以动态加载的内核模块。
建造定制的内核是几乎每一个 BSD 用户所必须经历的一关。 尽管这项工作可能比较耗时, 但它能够为使用 FreeBSD 系统带来很多好处。 与必须支持大量各式硬件的 GENERIC 内核不同, 定制的内核可以只包含对于 您的 PC 硬件的支持。 这有很多好处, 例如:
更快地启动。 因为内核只需要检测您系统上的硬件, 启动时所花费的时间将大大缩短。
使用更少的内存。 定制的内核通常会比 GENERIC 内核使用更少的内存, 由于内核必须时刻处于物理内存中, 因此这就显得更加重要。 给予这样的原因, 对于内存较小的系统来说, 定制内核将发挥更大的作用。
支持更多的硬件。 定制的内核允许您增加类似声卡这样的 GENERIC 内核没有提供内建支持的硬件。