超聲波探傷系統驅動程序的作用
超聲波探傷系統驅動程序的分類
探傷系統將設備分為三種基本類型:字符設備、塊設備和網絡設備,每個模塊一般為其中的某一類,但也可以構造一個大的模塊并在其中實現不同類型的設備驅動。為了提高設備驅動的伸縮性和可擴展性,最好為每個新功能創建一個單獨的模塊。
1. 字符設備:字符設備像字節流一樣被訪問,在存取時一般沒有緩存,在對字符設備發出讀/寫請求時,硬件設備 I/O 一般會緊接著發生。字符設備文件和普通文件的區別在于,字符設備只能順序訪問,而普通文件可以隨機訪問。
2. 塊設備:塊設備主要用來容納文件系統,例如磁盤。從應用程序角度來看,塊設備和字符設備的訪問方式相同,可以進行讀寫并允許一次傳遞任意多字節的數據。但是在內核中,塊設備驅動程序和字符設備驅動程序具有完全不同的接口。塊設備在系統內存中一般有緩沖區,以提高訪問效率。
3. 網絡設備:網絡設備驅動程序主要是針對數據包的傳輸和接收而設計,它不需要了解各項事務如何映射到實際傳送的數據包,只負責處理數據包。內核和網絡設備驅動程序之間的通信有專用的一套函數,與內核和字符設備以及塊設備驅動程序之間的通信方式完全不同。由于網絡設備接口不是面向流的,因此在文件系統中沒有相應的節點,操作系統給網絡設備接口分配了唯一的名字。
設備驅動程序的概念
系統調用是操作系統內核與應用程序之間的接口,設備驅動程序則是操作系統內核與系統硬件之間的接口。設備驅動程序為上層應用程序屏蔽了硬件的實現細節,這樣從應用程序角度來看,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作。
設備驅動程序是操作系統的一部分,它主要完成以下功能:
1. 如果以模塊化方式動態加載,則在加載和卸載設備驅動時分別完成對設備的初始化和釋放;如果以靜態鏈接方式編譯進內核,則在系統啟動時會完成對設備的初始化;
2. 完成內核與硬件之間的數據傳輸,從硬件讀取數據到內核或者把數據從內核寫到硬件;
3. 完成用戶空間和內核之間的數據傳輸,從用戶空間復制數據到內核或者把數據從內核空間傳輸到用戶空間;