注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)Windows實用技術:Windows NT與Windows 2000設備驅動及開發(fā)

實用技術:Windows NT與Windows 2000設備驅動及開發(fā)

實用技術:Windows NT與Windows 2000設備驅動及開發(fā)

定 價:¥60.00

作 者: (美)[P.G.威斯卡羅拉]Peter G.Viscarola,(美)[W.A.梅森]W.Anthony Mason著;新智工作室譯;新智工作室譯
出版社: 電子工業(yè)出版社
叢編項:
標 簽: Windows

購買這本書可以去


ISBN: 9787505359536 出版時間: 2000-06-01 包裝:
開本: 26cm 頁數(shù): 489 字數(shù):  

內容簡介

  本書從結構設計和實用的角度出發(fā),對Windows NT和Windows 2000的標準核心模式驅動程序做了深刻描述。它不僅解釋了如何設計和開發(fā)這些驅動程序,而且介紹了怎樣去編輯、連接和編譯它們。本書將重點集中在標準核心模式驅動程序上,從簡單的并行或串行端口設備驅動到復雜的以DMA為基礎的實時視頻加密設備驅動,本書介紹的標準核心模式驅動程序都是首屈一指的。全書有四大部分,第一部分介紹了Windows NT的結構,第二部分詳述了管理器及設備驅動程序,第三部分敘述了替換式NT驅動程序結構,第四部分主要介紹了Windows 2000與NT4.0設備驅動程序的差別。

作者簡介

暫缺《實用技術:Windows NT與Windows 2000設備驅動及開發(fā)》作者簡介

圖書目錄

第一部分 Windows NT的體系結構
第1章 Windows NT操作系統(tǒng)概述
1.1 Windows NT主要特點
1.1.1 多線程
1.1.2 多任務
1.1.3 按需分頁的虛擬內存
1.1.4 多處理
1.1.5 處理器體系結構獨立性
1.1.6 微核模型
1.1.7 集成化的網(wǎng)絡功能
1.1.8 多操作系統(tǒng)仿真
1.2 用戶模式程序和環(huán)境子系統(tǒng)
1.2.1 繞過環(huán)境子系統(tǒng)
1.2.2 本地Windows NT API
1.2.3 Win32環(huán)境子系統(tǒng)
1.3 Windows NT可執(zhí)行層
1.3.1 I/O管理器
1.3.2 對象管理器
1.3.3 安全引用監(jiān)視器
1.3.4 進程管理器
1.3.5 局部過程調用工具
1.3.6 內存管理器和高速緩存管理器
1.3.7 Win32支持部件
1.4 Windows NT微核
1.5 硬件抽象層
第2章 通過HAL獲得硬件獨立性
2.1 HAL在Windows NT操作系統(tǒng)中的作用
2.2 設備尋址
2.3 I/O結構
2.3.1 為設備訪問選擇正確的HAL函數(shù)
2.3.2 HAL緩沖區(qū)函數(shù)
2.4 中斷管理
2.5 DMA(直接內存訪問)操作
2.6 其他的HAL工具
2.7 HAL所不處理的處理器結構差別
第3章 虛擬內存
3.1 按需分頁的虛擬內存
3.1.1 按需分頁虛擬內存的原理
3.1.2 內存管理器的操作
3.1.3 地址空間分隔和控制
3.1.4 內存共享
3.1.5 拷貝—寫入
3.1.6 內存映射文件
3.1.7 分頁
3.1.8 地址轉換
3.1.9 頁表
3.1.10 從虛擬到物理的地址轉換
3.1.11 虛擬地址描述符
3.1.12 環(huán)境
3.2 物理內存管理
3.2.1 頁框數(shù)據(jù)庫
3.2.2 頁面恢復算法
3.2.3 部分對象(Section Object)
3.3 內存管理器調整(Tuning)
3.4 驅動程序和虛擬內存(VM)
3.4.1 內存描述符列表(Memory Descriptor Lists)
3.4.2 結構化例外處理(Structured Exception Handling)
第4章 注冊表
4.1 查看和修改注冊表
4.2 注冊表組織結構(Registry Organiztion)
4.2.1 子關鍵字(Subkey)、值(Value)和數(shù)據(jù)類型
4.2.2 管理寬字符串
4.3 設備驅動程序開發(fā)者關心的注冊表關鍵字
4.3.1 硬件(HARDWARE)
4.3.2 軟件(SOFTWARE)
4.3.3 SYSTEM子關鍵字和控制設置
第5章 分派和調度
5.1 分派
5.2 調度
5.2.1 線程優(yōu)先級
5.2.2 優(yōu)先占用
5.2.3 調度對驅動程序的影響
第6章 中斷請求等級和DPC(延遲過程調用)
6.1 了解中斷請求等級(IRQL)
6.1.1 IRQL并不是調度優(yōu)先級
6.1.2 決定IRQL
6.2 如何使用IRQL
6.2.1 IRQL PASSIVE_LEVEL
6.2.2 IRQL APC_LEVEL
6.2.3 IRQL DISPATCH_LEVEL
6.2.4 DIRQL
6.2.5 IRQL HIGH_LEVEL
6.3 延遲過程調用(DPC)
6.3.1 DPC對象
6.3.2 DPC的調用和服務
6.3.3 DPC對象特點
6.4 DpcForIsr
第7章 多處理器問題
7.1 共享數(shù)據(jù)的問題
7.2 使用鎖定(Lock)來完成序列訪問共享數(shù)據(jù)
7.3 互鎖
7.3.1 運行型互鎖
7.3.2 中斷型互鎖
7.3.3 在單處理器系統(tǒng)中運行互鎖
7.4 互鎖的問題
第二部分 I/O管理器和設備驅動程序的具體細節(jié)
第8章 I/O結構
8.1 可編程的I/O設備
8.2 總線控制器DMA設備
8.2.1 兩類總線控制器DMA設備
8.2.2 邏輯地址
8.2.3 分散/集中(Scatter/Gather)
8.3 系統(tǒng)DMA設備
第9章 I/O管理器
9.1 I/O子系統(tǒng)設計特點
9.2 NT I/O子系統(tǒng)具有一致性并且高度結構化
9.2.1 NT I/O子系統(tǒng)跨平臺可移植性
9.3 NT I/O子系統(tǒng)是可配置的
9.4 NT I/O子系統(tǒng)
9.5 NT I/O子系統(tǒng)是多處理器安全的
9.6 NT I/O子系統(tǒng)是基于對象的
9.6.1 文件對象
9.6.2 驅動程序對象
9.6.3 設備對象
9.6.4 中斷對象
9.6.5 適配器對象
9.7 NT I/O子系統(tǒng)是異步的
9.8 NT I/O子系統(tǒng)是包驅動的
9.9 NT I/O子系統(tǒng)是分層的
第10章 如何描述I/O請求
10.1 IRP結構
10.1.1 IRP固定部分的域
10.1.2 IRP I/O堆棧位置中的域
10.2 數(shù)據(jù)緩沖區(qū)的描述
10.2.1 直接I/O描述數(shù)據(jù)緩沖區(qū)
10.2.2 使用緩沖的I/O描述數(shù)據(jù)緩沖區(qū)
10.2.3 使用非I/O數(shù)據(jù)緩沖區(qū)描述
10.2.4 評價可使用的數(shù)據(jù)緩沖區(qū)描述符選項
10.3 I/O函數(shù)代碼
10.3.1 理解設備I/O控制函數(shù)(IOCTL)
10.3.2 定義客戶的IOCTL
10.3.3 I/O請求參數(shù)
10.4 處理和運行IRP
10.5 案例學習:當非I/O方式成為唯一選擇時
第11章 分層化的驅動程序模型
11.1 核心模式驅動程序
11.1.1 文件系統(tǒng)驅動程序
11.1.2 中級驅動程序
11.1.3 設備驅動程序
11.1.4 微驅動程序
11.2 中間級和設備驅動程序分層化(Layering)
11.3 文件系統(tǒng)驅動程序分層化
11.4 在堆棧頂部尋找驅動程序
11.5 了解驅動程序結構
11.6 分層處理I/O請求
11.6.1 處理IRP本身
11.6.2 將IRP傳遞給較低分層的驅動程序
11.6.3 創(chuàng)建傳遞到更低等級驅動程序的附加IRP
11.6.4 等級化驅動程序模型的優(yōu)勢
11.7 完成通知
11.7.1 在一個完成例程中驅動程序功能
11.8 在驅動程序之間的專門知識
11.9 過濾器驅動程序
11.9.1 過濾器驅動程序使用指導
11.10 快速I/O
11.11 案例學習:載入順序的重要性
第12章 驅動程序結構
12.1 驅動程序入口點
12.2 理解驅動程序結構
12.2.1 載入和初始化
12.2.2 設備驅動程序的請求處理
12.2.3 中級驅動程序的請求處理
12.2.4 動態(tài)卸載
12.2.5 請求處理環(huán)境
第13章 驅動程序入口
13.1 決定設備配置
13.1.1 資源列表、描述符和部分描述符
13.1.2 查詢系統(tǒng)配置數(shù)據(jù)
13.1.3 查詢總統(tǒng)配置數(shù)據(jù)
13.1.4 查詢注冊表
I3.2 創(chuàng)建設備對象
13.2.1 設備擴展
13.2.2 設備名稱
13.2.3 設備類型和特性
13.2.4 設備排他性
13.2.5 設備命名考慮
13.2.6 設備標號鏈接
13.3 獲得硬件資源
13.4 轉換總線地址
13.4.1 映射邏輯地址到核心虛擬地址空間
13.4.2 舉例:轉換總線地址
13.4.3 總線地址轉換的精華
13.5 輸出入口點
13.6 連接中斷和注冊DpcForIsr
13.6.1 轉換中斷等級和向量
13.6.2 將驅動程序ISR與中斷相連
13.6.3 為DpcForIsr初始化DPC對象
13.7 獲得一個適配器對象
13.8 執(zhí)行設備初始化
13.9 其他DriverEntry操作
13.9.1 中級緩沖區(qū)
13.9.2 DMA設備的公共緩沖區(qū)
13.9.3 I/O計時器
13.9.4 中級驅動程序和過濾器驅動程序
13.10 動態(tài)驅動程序卸載
第14章 分派入口點
14.1 確認請求
14.2 完成請求
14.2.1 提升I/O請求線程優(yōu)先級
14.2.2 I/O管理器如何完成請求
14.3 掛起和排隊請求
14.3.1 系統(tǒng)排隊
14.3.2 驅動程序排隊
14.3.3 附加設備隊列
14.4 請求處理
14.4.1 同步處理并完成
14.4.2 異步處理與結束
14.4.3 結合同步和異步方法
14.5 關閉通告
14.6 刪除處理
14.6.1 系統(tǒng)排隊和IRP刪除
14.6.2 驅動程序排隊和IRP刪除
14.6.3 刪除正在處理的請求
14.7 小結
第15章 中斷服務例程和DPC
15.1 中斷服務例程
15.1.1 ISR的內部過程
15.1.2 中斷共享和ISR
15.2 DpcForIsr和CustomDpc
15.2.1 DpcForIsr的登錄入口點
15.2.2 在DpcForIsr中的處理過程
15.3 ISR和DpcForIsr的設計
15.3.1 ISR和DPC
15.3.2 ISR對DPC例程的延遲
15.4 實例分析
第16章 程序化的I/O數(shù)據(jù)傳送
16.1 處理程序化的數(shù)據(jù)傳送
16.1.1 得到請求者緩沖區(qū)地址
16.1.2 得到請求者緩沖區(qū)長度
16.1.3 通過請求和控制傳輸操縱設備
16.1.4 在設備和請求者緩沖區(qū)之間傳遞數(shù)據(jù)
16.2 程序化的I/O驅動程序實例
16.2.1 分派例程和StartIo例程
16.2.2 中斷服務例程
16.2.3 DPC例程
16.2.4 例中驅動程序的DPC與ISR之間的關系
16.3 程序化的I/O設備驅動程序設計中的一些問題
16.3.1 將設備內存映射到用戶空間
16.3.2 輪詢
16.3.3 同步驅動程序的實現(xiàn)
第17章 DMA數(shù)據(jù)傳輸
17.1 DMA數(shù)據(jù)傳輸處理
17.2 適配器對象
17.3 映射寄存器
17.4 DMA設備結構
17.4.1 基于數(shù)據(jù)包的DMA
17.4.2 公用緩存DMA
17.4.3 基于數(shù)據(jù)包的DMA和公用緩沖區(qū)DMA的比較
17.5 基于數(shù)據(jù)包的DMA傳輸
17.5.1 準備傳輸
17.5.2 對設備編程
17.5.3 結束傳輸
17.5.4 延續(xù)驅動程序執(zhí)行
17.6 公用緩沖區(qū)DMA傳輸
17.6.1 分配公用緩沖區(qū)
17.6.7 執(zhí)行傳輸
17.6.3 延續(xù)驅動程序的執(zhí)行
17.7 基于數(shù)據(jù)包的DMA驅動程序例子
17.7.1 分派程序
17.7.2 準備傳輸
17.7.3 對設備編程
17.7.4 中斷服務程序
17.7.5 結束傳輸并且延續(xù)程序的執(zhí)行
17.8 DMA設備驅動程序的設計問題
17.8.1 對齊限制
17.8.2 系統(tǒng)DMA
第18章 驅動程序的生成和調試
18.1 建立驅動程序開發(fā)環(huán)境
18.1.1 以下將詳細討論上述步驟
18.1.2 建立系統(tǒng)
18.1.3 設置調試
18.2 生成驅動程序
18.3 驅動程序調試
18.3.1 核心調試器擴展
18.4 調試和測試的提示和技巧
18.4.1 在WinDbg中顯示輸出
18.4.2 在哪里生成你的項目
18.4.3 在你的測試系統(tǒng)上安裝多種系統(tǒng)映相
18.4.4 提高串口的速度
18.4.5 用SysRq鍵中止測試系統(tǒng)
18.4.6 斷定假設
18.4.7 ASSERT()只能工作在受限結構上
18.4.8 定義你自己的ASSERT()宏
18.4.9 在MP系統(tǒng)上測試
18.4.10 使用DDK提供的工具
18.4.11 用性能監(jiān)視器檢查你的驅動程序
18.4.12 打開池檢查
18.4.13 保持最新
18.4.14 從世界獲取幫助
18.5 藍屏內幕
18.5.1 藍屏格式
18.5.2 報告或解釋藍屏
18.6 崩潰堆文件
第19章 創(chuàng)建一個完全的驅動程序
19.1 驅動程序錯誤記錄
19.1.1 定義錯誤信息
19.1.2 分配錯誤記錄包
19.1.3 往事件日志中寫包
19.1.4 激活信息編譯器
19.1.5 將驅動程序注冊為事件記錄源
19.2 定義驅動程序版本資源
19.2.1 從Microsoft提供的模板定義.RC文件
19.2.2 創(chuàng)建你自己的資源定義文件
第20章 安裝和啟動驅動程序
20.1 驅動程序如何啟動
20.1.1 驅動程序服務項
20.2 驅動程序特定的和設備特定的參數(shù)
20.3 驅動程序安裝
20.3.1 文本設置
20.3.2 GUI設置
20.3.3 自定義設置
第三部分 備用的NT驅動程序結構
第21章 文件系統(tǒng)驅動程序
21.1 文件系統(tǒng)驅動程序特性
21.1.1 文件系統(tǒng)驅動程序在請求線程的環(huán)境中被調用
21.1.2 文件系統(tǒng)驅動程序同虛擬內存(VM)子系統(tǒng)緊密地集成在一起
21.1.3 文件系統(tǒng)驅動程序與I/O和對象管理器聯(lián)系緊密
21.2 更多地了解關于開發(fā)文件系統(tǒng)驅動程序
第22章 視頻微端口驅動程序
22.1 視頻端口/微端口驅動程序
22.1.1 視頻端口驅動程序
22.1.2 視頻微端口驅動程序
22.2 顯示驅動程序
22.2.1 設備顯示接口(DDI)驅動程序
22.3 DMA(直接內存訪問)和視頻顯示驅動程序
22.4 更深入地了解開發(fā)視頻顯示驅動程序
第23章 SCSI微端口驅動程序
23.1 SCSI微端口驅動程序特性
23.2 SCSI微端口驅動程序結構
23.2.1 初始化工作
23.2.2 請求的初始化
23.2.3 中斷服務
23.3 更深入地了解關于開發(fā)SCSI微端口驅動程序
第24章 NDIS微端口驅動程序
24.1 標準的NDIS家族
24.2 Windows NT網(wǎng)絡結構
24.3 NDIS驅動程序類型和NDIS庫
24.4 NDIS LAN微端口驅動程序
24.4.1 初始化
24.4.2 傳輸處理
24.4.3 中斷和DPC處理
24.4.4 傳輸終結
24.4.5 消息接收
24.4.6 串行化
24.5 更深入地了解如何開發(fā)NDIS驅動程序
第四部分 附錄
附錄A Windows NT狀態(tài)代碼/Win32錯誤代碼
附錄B 關于驅動程序編寫者信息的資料來源
本書的網(wǎng)頁
期刊和雜志
NT內幕雜志
Windows NT雜志
Dobb’s博士的期刊
Microsoft的知識基地
新聞組,郵件列表和一些最常遇到的問題
NTDEV郵件列表
NTFSD郵件列表
DDK-L郵件列表
關于Windows NT核心模式驅動程序最經(jīng)常問到的問題
研討會
OSR開放系統(tǒng)資源公司
David Solomon專家研討會
附錄C Windows 2000的一些變化
在Windows 2000上的NT 4.0設備驅動程序
驅動程序登錄的變化
Windows 2000的驅動程序入口點
添加設備入口點
處理即插即用IRP
DMA實現(xiàn)上的變化
電源管理
IRP_MN_QUERY_POWER
IRP_MN_SET_POWER
IRP_MN_WAIT_WAKE

本目錄推薦

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