[讀書筆記]裝置驅動程式簡介(第一章)
一、綜述
迷茫的時候該怎麼辦呢?
看書啊,使勁看,拼命看。
之前讀過《Linux裝置驅動程式》(LINUX DEVICE DRIVER)這本書,
讀第一遍的時候,只是泛讀,看一些自己看得懂的,不懂的都跳過了,結果發現跳過了很多(捂臉)
讀第二把的時候,之前很多看不懂的地方,隨著工作經驗的累積,慢慢看得懂一些東西,還是會跳過一些章節。
現在是第三遍了,我想我該仔細去閱讀,做好一些筆記,以免過後忘記了還能來溫習一下,畢竟 “溫故而知新,可以為師矣”。
誰讓腦子不好使呢,就做點筆記吧!
1.裝置驅動程式的作用
驅動程式的作用->提供機制,而不是提供策略。
大多數程式設計問題實際上可以分為2部分:
1.需要提供什麼功能(機制)
2.如何使用這個功能(策略)
在我們實際開發的時候,我們編寫的驅動程式應該儘量只提供硬體訪問的功能,而怎樣使用硬體的問題留給上層應用程式。
2.核心功能的劃分
Linux系統支援 多程式併發執行,每個程式都可以請求系統資源,如申請記憶體,運算等,而核心負責處理這些請求。根據核心完成任務的不同,核心功能可以分為:
1.程式管理:負責建立和銷燬程式,並處理它們和外界的連線。
2.記憶體管理 :負責建立、分配、銷燬記憶體
3.檔案系統
4.裝置控制
5.網路功能
3.裝置和模組分類
模組:字元模組,塊模組,網路模組
裝置:字元裝置,塊裝置,網路裝置
字元裝置:是個能夠像位元組流一樣被訪問的裝置,通常至少要實現open、close、read、write方法,字元裝置可以通過檔案系統節點來訪問。
塊裝置:和字元裝置類似,通過/dev/目錄下的檔案系統節點來訪問,塊裝置(如磁碟)能夠容納檔案系統,塊裝置和字元裝置的區別僅僅在於核心內部管理資料方式的不同
網路裝置:任何網路事物都經過一個網路介面形成,即一個能夠和其他主機互動資料的裝置,通常介面可以是硬體裝置,也可以是純軟體裝置。由於網路裝置不是面向流的,無法對映到檔案系統的節點,因此無法像字元裝置一樣通過read,write方式來和系統通訊,核心中有一套也資料包傳輸相關的函式來通訊
Stay hungry,Stay foolish!
荊軻刺秦王
相關文章
- Linux裝置驅動程式學習----1.裝置驅動程式簡介Linux
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- JS紅寶書筆記——第一章 JavaScript簡介JS筆記JavaScript
- 字元裝置驅動 —— 字元裝置驅動框架字元框架
- 基於匯流排裝置驅動模型的按鍵讀取驅動程式模型
- 程式設計師修煉之道——第一章讀書筆記程式設計師筆記
- 在Linux中,什麼是裝置驅動程式?如何安裝和解除安裝裝置驅動程式?Linux
- 裝置驅動程式包可以刪除嗎 win10裝置驅動程式包能刪嗎Win10
- GAN實戰筆記——第一章GAN簡介筆記
- linux核心原始碼閱讀-塊裝置驅動Linux原始碼
- 《C++ Primer》讀書筆記(第一章 開始)C++筆記
- 效能之巔讀書筆記--第一章緒論筆記
- 讀書筆記-乾淨程式碼筆記
- 【讀書筆記】異化勞動筆記
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- 《Java8實戰》-讀書筆記第一章(01)Java筆記
- 《Java8實戰》-讀書筆記第一章(02)Java筆記
- 讀書筆記筆記
- 如何編寫一個簡單的Linux驅動(三)——完善裝置驅動Linux
- LED字元裝置驅動字元
- 《讀書與做人》讀書筆記筆記
- HP筆記本驅動安裝教程筆記
- 《夢斷程式碼》讀書筆記(二)筆記
- 夢斷程式碼讀書筆記(一)筆記
- 驅動Driver-MISC雜項驅動裝置
- 【linux】驅動-7-平臺裝置驅動Linux
- 程式設計師修煉之路 從小工到專家 第一章讀書筆記程式設計師筆記
- 《Python 簡明教程》讀書筆記(持續更新)Python筆記
- webpackDemo讀書筆記Web筆記
- Vue讀書筆記Vue筆記
- 散文讀書筆記筆記
- Cucumber讀書筆記筆記
- HTTP 讀書筆記HTTP筆記
- postgres 讀書筆記筆記
- 讀書筆記2筆記
- 讀書筆記3筆記
- platform 裝置驅動實驗Platform
- 字元驅動裝置踩坑字元