-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍圖完全學(xué)習(xí)教程
-
>
深入理解計算機系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
LINUX設(shè)備驅(qū)動程序(第三版) 版權(quán)信息
- ISBN:7508338634
- 條形碼:9787508338637 ; 978-7-5083-3863-7
- 裝幀:暫無
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
LINUX設(shè)備驅(qū)動程序(第三版) 內(nèi)容簡介
本書是經(jīng)典著作《Linux設(shè)備驅(qū)動程序》的第三版。如果您希望在Linux操作系統(tǒng)上支持計算機外部設(shè)備,或者在Linux上運行新的硬件,或者只是希望一般性地了解Linux內(nèi)核的編程,就一定要閱讀本書。本書描述了如何針對各種設(shè)備編寫驅(qū)動程序,而在過去,這些內(nèi)容僅僅以口頭形式交流,或者零星出現(xiàn)在神秘的代碼注釋中。
本書的作者均是Linux社區(qū)的領(lǐng)導(dǎo)者。Jonathan Corbet雖不是專職的內(nèi)核代碼貢獻者,但他是備受關(guān)注的LWN.net新聞及信息網(wǎng)站的執(zhí)行編輯。Alessandro Rubini是一名Linux代碼貢獻者,也是活躍的意大利Linux社區(qū)的靈魂人物。Greg Kroah-Hartman是目前內(nèi)核中USB、PCI和驅(qū)動程序核心子系統(tǒng)(本書均有講述)的維護者。
本書的這個版本已針對Linux內(nèi)核的2.6.10版本徹底更新過了。內(nèi)核的這個版本針對常見任務(wù)完成了合理化設(shè)計及相應(yīng)的簡化,如即插即用、利用sysfs文件系統(tǒng)和用戶空間交互,以及標準總線上的多設(shè)備管理等等。
要閱讀并理解本書,您不必首先成為內(nèi)核黑客;只要您理解C語言并具有Unix系統(tǒng)調(diào)用的一些背景知識即可。您將學(xué)到如何為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)接口編寫驅(qū)動程序。為此,本書提供了完整的示例程序,您不需要特殊的硬件即可編譯和運行這些示例程序。本書還在單獨的章節(jié)中講述了PCI、USB和tty(終端)子系統(tǒng)。對期望了解操作系統(tǒng)內(nèi)部工作原理的讀者來講,本書也深入闡述了地址空間、異步事件以及I/O等方面的內(nèi)容。
本書涵蓋的主題包括:
● 完整的字符、塊、tty(終端)及網(wǎng)絡(luò)驅(qū)動程序
● 驅(qū)動程序的調(diào)試
● 中斷
● 計時問題
● 并發(fā)、鎖定和對稱多處理器系統(tǒng)(SMP)
● 內(nèi)存管理和DMA
● 驅(qū)動程序模型和sysfs
● 熱插拔設(shè)備
● 對常見總線的描述,包括SCSI、PCI、USB和IEEE1394(火線)。
LINUX設(shè)備驅(qū)動程序(第三版) 目錄
**章 設(shè)備驅(qū)動程序簡介
設(shè)備驅(qū)動程序的作用
內(nèi)核功能劃分
設(shè)備和模塊的分類
安全問題
版本編號
許可證條款
加入內(nèi)核開發(fā)社團
本書概要
第二章 構(gòu)造和運行模塊
設(shè)置測試系統(tǒng)
Hello World模塊
核心模塊與應(yīng)用程序的對比
編譯和裝載
內(nèi)核符號表
預(yù)備知識
初始化和關(guān)閉
模塊參數(shù)
在用戶空間編寫驅(qū)動程序
快速參考
第三章 字符設(shè)備驅(qū)動程序
scull的設(shè)計
主設(shè)備號和次設(shè)備號
一些重要的數(shù)據(jù)結(jié)構(gòu)
字符設(shè)備的注冊
open和release
scull的內(nèi)存使用
read和write
試試新設(shè)備
快速參考
第四章 調(diào)試技術(shù)
內(nèi)核中的調(diào)試支持
通過打印調(diào)試
通過查詢調(diào)試
通過監(jiān)視調(diào)試
調(diào)試系統(tǒng)故障
調(diào)試器和相關(guān)工具
第五章 并發(fā)和競態(tài)
scull的缺陷
并發(fā)及其管理
信號量和互斥體
completion
自旋鎖
鎖陷阱
除了鎖之外的辦法
快速參考
第六章 高級字符驅(qū)動程序操作
ioctl
阻塞型I/O
poll和select
異步通知
定位設(shè)備
設(shè)備文件的訪問控制
快速參考
第七章 時間、延遲及延緩操作
度量時間差
獲取當前時間
延遲執(zhí)行
內(nèi)核定時器
tasklet
工作隊列
快速參考
第八章 分配內(nèi)存
kmalloc函數(shù)的內(nèi)幕
后備高速緩存
get_free_page和相關(guān)函數(shù)
vmalloc及其輔助函數(shù)
per-CPU變量
獲取大的緩沖區(qū)
快速參考
第九章 與硬件通信
I/O端口和I/O內(nèi)存
使用I/O端口
I/O端口示例
使用I/O內(nèi)存
快速參考
第十章 中斷處理
準備并口
安裝中斷處理例程
實現(xiàn)中斷處理例程
頂半部和底半部
中斷共享
中斷驅(qū)動的I/O
快速參考
第十一章 內(nèi)核的數(shù)據(jù)類型
使用標準C語言類型
為數(shù)據(jù)項分配確定的空間大小
接口特定的類型
其他有關(guān)移植性的問題
鏈表
快速參考
第十二章 PCI驅(qū)動程序
PCI接口
ISA回顧
PC/104和PC/104+
其他的PC總線
SBus
NuBus
外部總線
快速參考
第十三章 USB驅(qū)動程序
USB設(shè)備基礎(chǔ)
USB和Sysfs
USB urb
編寫USB驅(qū)動程序
不使用urb的USB傳輸
快速參考
第十四章 Linux設(shè)備模型
kobject、kset和子系統(tǒng)
低層sysfs操作
熱插拔事件的產(chǎn)生
總線、設(shè)備和驅(qū)動程序
類
各環(huán)節(jié)的整合
熱插拔
處理固件
快速索引
第十五章 內(nèi)存映射和DMA
Linux的內(nèi)存管理
mmap設(shè)備操作
執(zhí)行直接I/O訪問
直接內(nèi)存訪問
快速參考
第十六章 塊設(shè)備驅(qū)動程序
注冊
塊設(shè)備操作
請求處理
其他一些細節(jié)
快速參考
第十七章 網(wǎng)絡(luò)驅(qū)動程序
snull設(shè)計
連接到內(nèi)核
net_device結(jié)構(gòu)細節(jié)
打開和關(guān)閉
數(shù)據(jù)包傳輸
數(shù)據(jù)包的接收
中斷處理例程
不使用接收中斷
鏈路狀態(tài)的改變
套接字緩沖區(qū)
MAC 地址解析
定制 ioctl 命令
統(tǒng)計信息
組播
其他知識點詳解
快速參考
第十八章 TTY驅(qū)動程序
小型TTY驅(qū)動程序
tty_driver函數(shù)指針
TTY線路設(shè)置
ioctls
proc和sysfs對TTY設(shè)備的處理
tty_driver結(jié)構(gòu)詳解
tty_operations結(jié)構(gòu)詳解
tty_struct結(jié)構(gòu)詳解
快速參考
參考書目
- >
自卑與超越
- >
上帝之肋:男人的真實旅程
- >
回憶愛瑪儂
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
羅庸西南聯(lián)大授課錄
- >
月亮虎
- >
唐代進士錄
- >
巴金-再思錄