1. 程式人生 > >Linux:驅動之字元裝置工作原理(未完)

Linux:驅動之字元裝置工作原理(未完)

  • 字元裝置驅動工作原理

  • 系統整體工作原理

應用層->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到內部看,驗證我們上面講的原理?