linux裝置驅動程式學習筆記(一)

2021-06-17 19:58:41 字數 863 閱讀 2471

第一章       裝置驅動程式簡介

1.區分機制和策略是unix設計背後隱含的最好思想之一。大多數程式設計問題實際上都可以分為兩部分:「需要提供什麼功能」(機制)和「如何使用這些功能」(策略)。如果這兩個問題由程式的不同部分來處理,或者甚至由不同的程式來處理,則這個軟體包更易開發,也更容易根據需要來調整。驅動程式同樣存在機制和策略的分離問題。例如,軟碟機的驅動程式不帶策略,它的作用是將磁碟表示為乙個連續的資料庫陣列。系統高層提供策略,比如誰有權訪問軟盤驅動器,是直接訪問驅動器還是通過檔案系統,以及使用者是否可以在驅動器上掛載檔案系統等等。既然不同的環境通常需要不同的方式來使用硬體,我們應當盡可能做到讓驅動程式不帶策略。

2.

不帶策略的驅動程式包括一些典型的特徵:同時支援同步和非同步操作、驅動程式能夠被多次開啟、充分利用硬體特性,以及不具備用來「簡化任務」的或提供與策略相關的軟體層等。實際上,

不帶策略是軟體設計者的乙個共同目標。

3.linux系統將裝置分成三種基本型別:

4.除了裝置驅動程式外,核心中其他一些功能也都模組化了。乙個常見的例子是檔案系統。乙個檔案系統型別決定了如何在塊裝置上組織資料,以表示目錄和檔案形成的樹。檔案系統不是裝置驅動程式,因為沒有任何實際物理裝置同這種資訊組織方式相關聯。相反,檔案系統型別是個軟體驅動程式,它將底層資料結構對映到高層資料結構,決定檔名可以有多長以及在目錄項中儲存檔案的哪些資訊等等。

5.核心功能劃分,unix系統支援多個程序的併發執行,每個程序都請求系統資源,比如運算、記憶體、網路連線或其他一些資源等。

LINUX裝置驅動程式筆記

1.核心功能劃分 程序管理,記憶體管理,檔案系統,裝置控制,網路。裝置的分類 字元裝置,塊裝置,網路介面。單個原始檔編譯模組 obj m hello.o 多個原始檔編譯模組 obj m module.o module objs file1.o file2.o make c kernel 2.6 m ...

linux裝置驅動程式 字元裝置驅動程式

先留個 有一起學習驅動程式的加qq295699450 字元裝置驅動 這篇比較惱火。載入成功,但是讀不出來資料,有知道怎麼回事的,留個言,一起討論下 資料結構 struct scull mem struct scull dev dev 整個驅動程式 如下 include include include...

Linux裝置驅動程式 字元裝置驅動程式

1.檢視主裝置號,次裝置號 進入 dev目錄執行ls l,第四,五列分別為主次裝置號,10,180,1,5,這些是主裝置號,而60,63這些就是次裝置號 130 shell android dev ls l crw rw r system radio 10,60 1969 12 31 21 00 a...