精通 Linux 設備驅動程序開發 (Essential Linux Device Drivers)
內容描述
<內容大鋼>
溫卡特斯瓦蘭編著的《精通Linux設備驅動程序開發》是Linux設備驅動程序開發領域的著作。全書基於2.6內核,不僅透徹講解了基本概念和技術,更深入探討了其他書沒有涵蓋或淺嘗輒止的許多重要主題和關鍵難點,如PCMCIA、I2C和USB等外部總線以及視頻、音頻、無線連網和快閃內存等驅動程序的開發,並講解了相關的內核源碼文件,給出了完整的開發實例。
本書適合中高級Linux開發人員閱讀。
<目錄>
第1章 引言
1.1 演進
1.2 GNU Copyleft
1.3 kernel.org
1.4 郵件列表和論壇
1.5 Linux發行版
1.6 查看源代碼
1.7 編譯內核
1.8 可加載的模塊
1.9 整裝待發
第2章 內核
2.1 啟動過程
2.1.1 BIOS-provided physical RAM map
2.1.2 758MB LOWMEM available
2.1.3 Kernel command line: ro root=/dev/hda1
2.1.4 Calibrating delay...1197.46 BogoMIPS (lpj=2394935)
2.1.5 Checking HLT instruction
2.1.6 NET: Registered protocol family 2
2.1.7 Freeing initrd memory: 387k freed
2.1.8 io scheduler anticipatory registered (default)
2.1.9 Setting up standard PCI resources
2.1.10 EXT3-fs: mounted filesystem
2.1.11 INIT: version 2.85 booting
2.2 內核模式和用戶模式
2.3 進程上下文和中斷上下文
2.4 內核定時器
2.4.1 HZ和Jiffies
2.4.2 長延時
2.4.3 短延時
2.4.4 Pentium時間戳計數器
2.4.5 實時鐘
2.5 內核中的併發
2.5.1 自旋鎖和互斥體
2.5.2 原子操作
2.5.3 讀—寫鎖
2.5.4 調試
2.6 proc文件系統
2.7 內存分配
2.8 查看源代碼
第3章 內核組件
3.1 內核線程
3.1.1 創建內核線程
3.1.2 進程狀態和等待隊列
3.1.3 用戶模式輔助程序
3.2 輔助接口
3.2.1 鏈表
3.2.2 散列鏈表
3.2.3 工作隊列
3.2.4 通知鏈
3.2.5 完成接口
3.2.6 kthread輔助接口
3.2.7 錯誤處理助手
3.3 查看源代碼
第4章 基本概念
4.1 設備和驅動程序介紹
4.2 中斷處理
4.2.1 中斷上下文
4.2.2 分配IRQ號
第5章 字符設備驅動程序
第6章 串行設備驅動程序
第7章 輸入設備驅動程序
第8章 I2C協議
第9章 PCMCIA和CF
第10章 PCI
第11章 USB
第12章 視頻驅動程序
第13章 音頻驅動程序
第14章 塊設備驅動程序
第15章 網絡接口卡
第16章 Linux無線設備驅動
第17章 存儲技術設備
第18章 嵌入式Linux
第19章 用戶空間的驅動程序
第20章 其他設備和驅動程序
第21章 調試設備驅動程序
第22章 維護與發布
第23章 結束語
附錄A Linux彙編
附錄B Linux與BIOS
附錄C seq文件