第 6 章 高級字符驅(qū)動操作

2018-02-23 16:24 更新

第?6?章?高級字符驅(qū)動操作

在第 3 章, 我們建立了一個完整的設備驅(qū)動, 用戶可用來寫入和讀取. 但是一個真正的設備常常提供比同步讀和寫更多的功能. 現(xiàn)在我們已裝備有調(diào)試工具如果發(fā)生錯誤, 并且一個牢固的并發(fā)的理解來幫助避免事情進入錯誤-- 我們可安全地前進并且創(chuàng)建一個更高級的驅(qū)動.

本章檢查幾個你需要理解的概念來編寫全特性的字符設備驅(qū)動. 我們從實現(xiàn) ioctl 系統(tǒng)調(diào)用開始, 它是用作設備控制的普通接口. 接著我們進入各種和用戶空間同步的方法; 在本章結尾, 你有一個充分的認識對于如何使進程睡眠(并且喚醒它們), 實現(xiàn)非阻塞的 I/O, 并且通知用戶空間當你的設備可用來讀或?qū)? 我們以查看如何在驅(qū)動中實現(xiàn)幾個不同的設備存取策略來結束.

這里討論的概念通過 scull 驅(qū)動的幾個修改版本來演示. 再一次, 所有的都使用內(nèi)存中的虛擬設備來實現(xiàn), 因此你可自己試驗這些代碼而不必使用任何特別的硬件. 到此為止, 你可能在想親手使用真正的硬件, 但是那將必須等到第 9 章.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號