- Linux設備驅動開發(fā)詳解:基于最新的Linux4.0內核
- 宋寶華
- 445字
- 2018-12-31 20:25:13
1.4 Linux設備驅動
1.4.1 設備的分類及特點
計算機系統(tǒng)的硬件主要由CPU、存儲器和外設組成。隨著IC制作工藝的發(fā)展,目前,芯片的集成度越來越高,往往在CPU內部就集成了存儲器和外設適配器。譬如,相當多的ARM、PowerPC、MIPS等處理器都集成了UART、I2C控制器、SPI控制器、USB控制器、SDRAM控制器等,有的處理器還集成了GPU(圖形處理器)、視頻編解碼器等。
驅動針對的對象是存儲器和外設(包括CPU內部集成的存儲器和外設),而不是針對CPU內核。Linux將存儲器和外設分為3個基礎大類。
·字符設備。
·塊設備。
·網絡設備。
字符設備指那些必須以串行順序依次進行訪問的設備,如觸摸屏、磁帶驅動器、鼠標等。塊設備可以按任意順序進行訪問,以塊為單位進行操作,如硬盤、eMMC等。字符設備和塊設備的驅動設計有出很大的差異,但是對于用戶而言,它們都要使用文件系統(tǒng)的操作接口open()、close()、read()、write()等進行訪問。
在Linux系統(tǒng)中,網絡設備面向數據包的接收和發(fā)送而設計,它并不傾向于對應于文件系統(tǒng)的節(jié)點。內核與網絡設備的通信與內核和字符設備、網絡設備的通信方式完全不同,前者主要還是使用套接字接口。
推薦閱讀
- Linux設備驅動開發(fā)詳解:基于最新的Linux4.0內核
- Ansible權威指南
- BPEL and Java Cookbook
- Windows Server 2012 Hyper-V Cookbook
- 深入Linux內核架構與底層原理(第2版)
- macOS效率手冊
- Windows 7中文版從入門到精通(修訂版)
- Joomla! 3 Template Essentials
- 完美應用RHEL 8
- Linux內核設計的藝術:圖解Linux操作系統(tǒng)架構設計與實現原理
- Windows Server 2008組網技術與實訓(第3版)
- Learning IBM Watson Analytics
- 辦公自動化教程(Windows7+Office2010)
- Android NDK Beginner's Guide
- 再也不踩坑的kubernetes實戰(zhàn)指南