注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)LinuxLINUX設備驅動程序

LINUX設備驅動程序

LINUX設備驅動程序

定 價:¥69.00

作 者: (美)科波特(Corbet, J.)著;魏永明等譯
出版社: 中國電力出版社
叢編項: O'REILLY系列
標 簽: Linux操作系統(tǒng)

ISBN: 9787508338637 出版時間: 2006-01-01 包裝: 膠版紙
開本: 小16開 頁數: 569 字數:  

內容簡介

  本書是經典著作《Linux設備驅動程序》的第三版。如果您希望在Linux操作系統(tǒng)上支持計算機外部設備,或者在Linux上運行新的硬件,或者只是希望一般性地了解Linux內核的編程,就一定要閱讀本書。本書描述了如何針對各種設備編寫驅動程序,而在過去,這些內容僅僅以口頭形式交流,或者零星出現在神秘的代碼注釋中。本書的作者均是Linux社區(qū)的領導者。Jonathan Corbet雖不是專職的內核代碼貢獻者,但他是備受關注的LWN.net新聞及信息網站的執(zhí)行編輯。Alessandro Rubini是一名Linux代碼貢獻者,也是活躍的意大利Linux社區(qū)的靈魂人物。Greg Kroah-Hartman是目前內核中USB、PCI和驅動程序核心子系統(tǒng)(本書均有講述)的維護者。本書的這個版本已針對Linux內核的2.6.10版本徹底更新過了。內核的這個版本針對常見任務完成了合理化設計及相應的簡化,如即插即用、利用sysfs文件系統(tǒng)和用戶空間交互,以及標準總線上的多設備管理等等。要閱讀并理解本書,您不必首先成為內核黑客;只要您理解C語言并具有Unix系統(tǒng)調用的一些背景知識即可。您將學到如何為字符設備、塊設備和網絡接口編寫驅動程序。為此,本書提供了完整的示例程序,您不需要特殊的硬件即可編譯和運行這些示例程序。本書還在單獨的章節(jié)中講述了PCI、USB和tty(終端)子系統(tǒng)。對期望了解操作系統(tǒng)內部工作原理的讀者來講,本書也深入闡述了地址空間、異步事件以及I/O等方面的內容。本書涵蓋的主題包括:● 完整的字符、塊、tty(終端)及網絡驅動程序● 驅動程序的調試● 中斷● 計時問題● 并發(fā)、鎖定和對稱多處理器系統(tǒng)(SMP)● 內存管理和DMA● 驅動程序模型和sysfs● 熱插拔設備● 對常見總線的描述,包括SCSI、PCI、USB和IEEE1394(火線)。

作者簡介

  JonahanCorbet早在1981年就開始接觸BSDUnix的源代碼。那時,科羅拉多大學的一名講師讓他“修正”其中的分頁算法。從那時起直到現在。他深入研究了他所遇到的每一個系統(tǒng),其中包括VAX、Sun、Arden以及x86系統(tǒng)的驅動程序。他在1993年第一次接觸Linux系統(tǒng),從此以后一直從事Linux的開發(fā)。Corbet先生是《LinuxWeeklyNews》的創(chuàng)始人和執(zhí)行主編。他和妻子及兩個孩子生活在科羅多州的玻爾得市。

圖書目錄

前言 1
第一章 設備驅動程序簡介 9
設備驅動程序的作用 10
內核功能劃分 12
設備和模塊的分類 14
安全問題 15
版本編號 17
許可證條款 18
加入內核開發(fā)社團 19
本書概要 19
第二章 構造和運行模塊 21
設置測試系統(tǒng) 21
Hello World模塊 22
核心模塊與應用程序的對比 24
編譯和裝載 28
內核符號表 33
預備知識 35
初始化和關閉 36
模塊參數 40
在用戶空間編寫驅動程序 42
快速參考 44
第三章 字符設備驅動程序 46
scull的設計 46
主設備號和次設備號 47
一些重要的數據結構 53
字符設備的注冊 59
open和release 62
scull的內存使用 64
read和write 67
試試新設備 74
快速參考 74
第四章 調試技術 76
內核中的調試支持 76
通過打印調試 78
通過查詢調試 85
通過監(jiān)視調試 94
調試系統(tǒng)故障 96
調試器和相關工具 102
第五章 并發(fā)和競態(tài) 109
scull的缺陷 109
并發(fā)及其管理 110
信號量和互斥體 111
completion 116
自旋鎖 118
鎖陷阱 123
除了鎖之外的辦法 125
快速參考 132
第六章 高級字符驅動程序操作 137
ioctl 137
阻塞型I/O 149
poll和select 163
異步通知 168
定位設備 172
設備文件的訪問控制 173
快速參考 179
第七章 時間、延遲及延緩操作 183
度量時間差 183
獲取當前時間 188
延遲執(zhí)行 190
內核定時器 196
tasklet 202
工作隊列 204
快速參考 208
第八章 分配內存 213
kmalloc函數的內幕 213
后備高速緩存 217
get_free_page和相關函數 221
vmalloc及其輔助函數 225
per-CPU變量 228
獲取大的緩沖區(qū) 230
快速參考 231
第九章 與硬件通信 235
I/O端口和I/O內存 235
使用I/O端口 239
I/O端口示例 245
使用I/O內存 248
快速參考 254
第十章 中斷處理 258
準備并口 259
安裝中斷處理例程 259
實現中斷處理例程 269
頂半部和底半部 274
中斷共享 278
中斷驅動的I/O 281
快速參考 285
第十一章 內核的數據類型 287
使用標準C語言類型 287
為數據項分配確定的空間大小 289
接口特定的類型 289
其他有關移植性的問題 291
鏈表 294
快速參考 298
第十二章 PCI驅動程序 300
PCI接口 300
ISA回顧 317
PC/104和PC/104+ 319
其他的PC總線 319
SBus 320
NuBus 321
外部總線 321
快速參考 322
第十三章 USB驅動程序 324
USB設備基礎 326
USB和Sysfs 329
USB urb 331
編寫USB驅動程序 342
不使用urb的USB傳輸 352
快速參考 356
第十四章 Linux設備模型 359
kobject、kset和子系統(tǒng) 361
低層sysfs操作 368
熱插拔事件的產生 372
總線、設備和驅動程序 374
類 384
各環(huán)節(jié)的整合 388
熱插拔 394
處理固件 401
快速索引 403
第十五章 內存映射和DMA 408
Linux的內存管理 408
mmap設備操作 418
執(zhí)行直接I/O訪問 429
直接內存訪問 435
快速參考 453
第十六章 塊設備驅動程序 458
注冊 459
塊設備操作 464
請求處理 468
其他一些細節(jié) 484
快速參考 487
第十七章 網絡驅動程序 491
snull設計 492
連接到內核 495
net_device結構細節(jié) 499
打開和關閉 508
數據包傳輸 510
數據包的接收 514
中斷處理例程 516
不使用接收中斷 518
鏈路狀態(tài)的改變 521
套接字緩沖區(qū) 521
MAC 地址解析 525
定制 ioctl 命令 527
統(tǒng)計信息 528
組播 529
其他知識點詳解 533
快速參考 534
第十八章 TTY驅動程序 538
小型TTY驅動程序 540
tty_driver函數指針 545
TTY線路設置 551
ioctls 555
proc和sysfs對TTY設備的處理 557
tty_driver結構詳解 558
tty_operations結構詳解 560
tty_struct結構詳解 562
快速參考 564
參考書目 567

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號