Kernel
FreeBSD 中 rc.conf、loader.conf 和靜態核心連結的區別
我很好奇:
將模組靜態連結到核心而不是通過 rc.conf 載入等究竟有什麼好處?
例如:
要添加 Linux 仿真,我可以添加
linux_enable="YES"
到/etc/rc.conf
,或者我可以通過添加options COMPAT_LINUX
到我的核心配置將它連結到核心。這實際上有優勢嗎?如果是這樣,是什麼?
靜態連結曾經是載入模組的唯一方法,這被認為是擁有 COMPAT_LINUX 等選項的主要原因。此外,在 之前
loader
,它曾經是載入獲取 FreeBSD 所需的模組以獲取掛載根文件系統和引導 FreeBSD 所需的驅動程序的唯一方法。如今,如果可以在執行時輕鬆載入,我認為在模組中靜態連結不會有任何顯著的好處。我認為靜態連結 Linux 兼容性支持不會對性能有任何好處,但一些使用者仍然對此深信不疑。我會避免它只是因為重新編譯核心帶來的不便,幾乎沒有感知到的性能提升。