2007年3月27日 星期二

[FreeBSD] 動態載入相關資訊

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 來使用的,需留意啦。


沒有留言:

張貼留言