內核模塊概述

 

1 什麼是內核模塊?
       內核模塊是一種沒有經過鏈接,不能獨立運行的目標文件,是在內核空間中運行的程序。
經過鏈接裝載到內核裏面成爲內核的一部分,可以訪問內核的公用符號(函數和變量)。內
核模塊可以讓操作系統內核在需要時載入和執行,在不需要時由操作系統卸載。它們擴展
了操作系統內核的功能卻不需要重新啓動系統。如果沒有內核模塊,我們不得不一次又一
次重新編譯生成單內核操作系統的內核鏡像來加入新的功能。這還意味着一個臃腫的內
核。

2 內核模塊是如何被調入內核工作的?
      當操作系統內核需要的擴展功能不存在時,內核模塊管理守護進程kmod執行modprobe
去加載內核模塊。modprobe遍歷文件/lib/modules/version/modules.dep來判斷是否有其它內核模塊需要在
該模塊加載前被加載。最後modprobe調用insmod先加載被依賴的模塊,然後加載該被內核要求的模塊。

3 模塊機制的優點:
減小內核映像尺寸,增加系統靈活性;
節省開發時間;修改內核,不必重新編譯整個內核。
模塊的目標代碼一旦被鏈入內核,作用和靜態鏈接的內核目標代碼完全等價。

4 模塊機制的缺點:
對系統性能有一定損失;
使用不當時會導致系統崩潰

發佈了31 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章