商品簡介
長久以來,驅動程式一向是工程師最畏懼的領域之一,說硬不硬,說軟不軟。因為驅動程式不但要發揮硬體的功能,還要面對作業系統與應用程式。
作者以一套虛構的硬體裝置,向讀者示範如何設計各種類型(包括字元式、區塊式、網路裝置)的驅動程式;你並不需要非常了解 Linux 的核心,甚至不需要懂組合語言, 只要你會 C 語言,而且對 UNIX 的系統呼叫有些基本的概念,就能享受本書所帶給你的樂趣,讓你也有能力發掘 Linux 核心的祕密,為你的週邊設計驅動程式。
對於作業系統的內部作業感到好奇的讀者,本書也探討了定址空間、非同步事件、I/O 作業、排程、記憶體管理 ... 等等作業系統課程所必修的議題。此外,由於核心 的快速發展,所以移植性也是本書所關注的議題之一,作者討論的 Linux 核心,從古老的 1.2.13 到變革頗大的 2.1.43 版,並同時告訴你,要如何讓你設計的驅動程式 能因應未來的變革。
雖然 Linux 愈來愈成熟,但層出不窮的硬體裝置也愈來愈多,找不到新型硬體的驅動程式變成許多人的惡夢,身為工程師的你,應該靜待別人幫你設計驅動程式,還是應該 自己動手享受開發的樂趣?
本書內容:
* 建立驅動程式與載入模組
* 設計字元式裝置、區塊式裝置與網路驅動程式
* 驅動程式的除錯
* 時序
* 記憶體管理與 DMA
* 中斷
* 移植性的議題
* PCI 與各種匯流排界面
* 核心內部導覽