From : BSD 討論版 @ 酷!學園, 2002/07/26 的文章對話
- FreeBSD不是把硬體裝置都編到Kernel內了, 那 /modules 除了放 ScreenSaver 外, 到底是作什麼用的?
- 不知您有無注意到,在編譯核心時,最後在 Install 的時候,不是會有安裝 module 的訊息嗎? 那就是將可以採用模組載入的方式的硬體,不管是否已編入核心了,全部都給編成模組,以方便某些未編入核心的硬體,要使用時可以動態載入使用。
如果已開完機且登入到系統了,可以使用 kldload <module name> 來動態載入
kldunload <module name> 來卸載
kldstat 來查看目前載入的模組狀態
如果要在開機前載入未編入到核心的硬體模組,可將其寫入到 /boot/loader.conf 檔案中,詳細的模組載入語法,請查看 /boot/defaults/loader.conf 便知。 - 那可以作基本的kernel, 其他的裝置及服務都以modules的方式載入吧! 像Linux那樣!
- 當然可以呀,而且如果沒記錯的話,早在 2.X 版就已支援這種作業方式了,搞不好更早 ^_^
不過哩,就像 Linux 一樣,有些硬體是尚未支援動態載入的,所以如果需要用到的話,還是只能乖乖的編到核心中地。 - 對呀,不過因為版本已和黑皮書時的版本不同了,所以載入模組的指令也已不一樣了 ^_^
對了,如果沒記錯的話,Linux 的核心,好像也是有分可模組化和不可模組化吧?? - Linux下用make menuconfig時, 可以作成modules的會有個"M"的選項, Linux下作成Modules的也多半是硬體裝置及一些功能(Firewall AP Support)...
簡單的來說,系統一些硬體裝置大部分都是編進 kernel 的,然而,也有提供需要時再載入的方式,嘿,可以回想讀OS的心情喔!至於後者的使用方式,就稱為動態載入,因此,有些系統軟體安裝就會分成要編 kernel 或是採用動態載入啦,不過要留意的是,有些功能是限定編入 kernel 來使用的,需留意啦。
沒有留言:
張貼留言