Linux:驅動之字元裝置工作原理(未完)
阿新 • • 發佈:2018-12-09
-
字元裝置驅動工作原理
-
系統整體工作原理
應用層->API->裝置驅動->硬體?
API:open、read、write、close等?
驅動原始碼中提供真正的open、read、write、close等函式實體?
-
file_operations結構體
元素主要是函式指標,用來掛接實體函式地址?
每個裝置驅動都需要一個該結構體型別的變數?
裝置驅動向核心註冊時提供該結構體型別的變數?
-
註冊字元裝置驅動
為何要註冊驅動?
誰去負責註冊?
向誰註冊?
註冊函式從哪裡來?
註冊前怎樣?註冊後怎樣?註冊產生什麼結果?
-
register_chrdev詳解
(#include <linux/fs.h>)?
作用?驅動向核心註冊自己的file_operations?
引數?
inline和static?
-
核心如何管理字元裝置驅動
核心中有一個數組用來儲存註冊的字元裝置驅動?
register_chrdev內部將我們要註冊的驅動的資訊(主要是 )儲存在陣列中相應的位置?
cat /proc/devices檢視核心中已經註冊過的字元裝置驅動(和塊裝置驅動)?
好好理解主裝置號(major)的概念?
/proc檔案系統的作用?
將來深入學習驅動時可以去跟register_chrdev到內部看,驗證我們上面講的原理?