資料來源:http://silverfoxkkk.pixnet.net/blog/post/43026733-lddp%3A%E4%B8%83%E3%80%81%E6%8E%A7%E5%88%B6%E7%A1%AC%E9%AB%94
七、控制硬體
驅動程式最主要的任務 - 控制硬體。
7-1、控制硬體
驅動程式的工作,就是幫助 kernel 控制硬體,kernel 將不認識的硬體交給驅動程式控制,而驅動程式再與 kernel 溝通後,即可讓 kernel 認識硬體,如此, user process 即可透過系統呼叫介面來操作硬體。
各種硬體都有獨特的控制方式,但大多數硬體都可透過驅動程式讀寫「暫存器」來操控。
暫存器是硬體(裝置)內部的記憶空間,但屬於斷電後內容就會消失的揮發性記憶體。
驅動程式這類軟體去讀寫裝置的暫存器,也就是 CPU 去讀寫裝置,因為軟體是在 CPU 上面運行的。
具體的讀寫方式隨著裝置而有不同,一般來說可歸為「I/O mapped I/O」與「Memory mapped I/O」這兩類。