注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)WindowsWINDOWS 設(shè)備驅(qū)動(dòng)程序技術(shù)內(nèi)幕

WINDOWS 設(shè)備驅(qū)動(dòng)程序技術(shù)內(nèi)幕

WINDOWS 設(shè)備驅(qū)動(dòng)程序技術(shù)內(nèi)幕

定 價(jià):¥22.00

作 者: 孫守閣 徐勇
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: Windows

ISBN: 9787302009009 出版時(shí)間: 2000-05-01 包裝: 平裝
開本: 16開 頁數(shù): 214 字?jǐn)?shù):  

內(nèi)容簡介

  Wndows設(shè)備驅(qū)動(dòng)程序技術(shù)內(nèi)幕一書,詳細(xì)講解了設(shè)備驅(qū)動(dòng)程序的原理及實(shí)現(xiàn)方法,并例舉了大量的程序?qū)嵗阌谧x者學(xué)習(xí)和掌握。本書分為三個(gè)部分。第一部分主要講怎樣用DOS的方法寫設(shè)備驅(qū)動(dòng)程序,該部分的驅(qū)動(dòng)程序被封裝為DLL形式。第二部分講怎樣寫Windows的虛擬設(shè)備驅(qū)動(dòng)程序(Vth)。第三部分介紹Wndows系統(tǒng)下標(biāo)準(zhǔn)模式設(shè)備驅(qū)動(dòng)程序的編寫方法。本書是一一本技術(shù)性較強(qiáng)的工具書,它主要針對(duì)有一定計(jì)算機(jī)基礎(chǔ)的程序開發(fā)者和硬件設(shè)計(jì)者,同時(shí)也適應(yīng)需要進(jìn)一步了解計(jì)算機(jī)應(yīng)用的讀者?,F(xiàn)在市面上關(guān)于Windows編程的書很多,但是關(guān)于Windows設(shè)備驅(qū)動(dòng)程序編程的書很少,而關(guān)于虛擬設(shè)備驅(qū)動(dòng)程序的編程就更少了。在工作中往往需要對(duì)標(biāo)準(zhǔn)的硬件設(shè)備進(jìn)行操作,有時(shí)還需要使用設(shè)備驅(qū)動(dòng)程序?qū)ξ锢碓O(shè)備進(jìn)行操作,這就需要編程人員掌握這些方面的知識(shí),能夠設(shè)計(jì)出自己需要的設(shè)備驅(qū)動(dòng)程序。本書主要介紹了3種設(shè)備驅(qū)動(dòng)程序的編寫方法。全書分為3部分,每一部分先介紹一些基礎(chǔ)知識(shí),再進(jìn)行詳細(xì)內(nèi)容的講述。各部分的內(nèi)容都是循序漸進(jìn)的,便于學(xué)習(xí)和掌握。第一部分主要講述怎樣用DOS的方法編寫設(shè)備驅(qū)動(dòng)程序。該部分的驅(qū)動(dòng)程序被封裝為DLL形式,可以被Windows應(yīng)用程序訪問,但不能被DOS應(yīng)用程序訪問。第二部分講述怎樣編寫Windows的虛擬設(shè)備驅(qū)動(dòng)程序(VxD)。這些虛擬設(shè)備驅(qū)動(dòng)程序作為被托管的Windows核心成員運(yùn)行,可以“到任何地方做任何事”,最終可以知道Windows是怎樣實(shí)現(xiàn)虛擬機(jī)的。它們的結(jié)構(gòu)十分直觀,便于了解和掌握。當(dāng)運(yùn)行環(huán)境變得復(fù)雜時(shí),VxD本身和基于DLL的驅(qū)動(dòng)程序同樣簡單。第三部分介紹Windows系統(tǒng)下標(biāo)準(zhǔn)模式設(shè)備驅(qū)動(dòng)程序的編寫。這一部分講述了怎樣編寫一個(gè)高質(zhì)量的驅(qū)動(dòng)程序,Windows程序怎樣與DOS的TSR進(jìn)行通信,在Windows中怎樣用DMA進(jìn)行工作,以及其他一些高級(jí)應(yīng)用。本書是一本技術(shù)性較強(qiáng)的工具書,它主要適用于有一定計(jì)算機(jī)基礎(chǔ)的程序開發(fā)者和硬件設(shè)計(jì)者,同時(shí)也適應(yīng)于需要進(jìn)一步了解計(jì)算機(jī)應(yīng)用的讀者。

作者簡介

暫缺《WINDOWS 設(shè)備驅(qū)動(dòng)程序技術(shù)內(nèi)幕》作者簡介

圖書目錄

    第1章概述
    1.1本書的讀者對(duì)象
    1.1.1哪些人應(yīng)該讀這本書
    1.1.2哪些人不能讀這本書
    1.2應(yīng)用平臺(tái)
    1.3本書的結(jié)構(gòu)
    1.4學(xué)習(xí)的方法
    1.5需要的工具
   第一部分 驅(qū)動(dòng)程序基礎(chǔ)
   第2章基礎(chǔ)知識(shí)
    2.1驅(qū)動(dòng)程序的定義
    2.2特權(quán)封裝
    2.3非特權(quán)封裝
    2.4 DLL與靜態(tài)庫的比較
    2.5為什么要把驅(qū)動(dòng)程序封裝為DLL
    2.6應(yīng)用程序與DLL比較
    2.6.1 DLL和棧段
    2.6.2 DLL和數(shù)據(jù)段
    2.6.3 DLL和動(dòng)態(tài)分配內(nèi)存的主權(quán)
    2.6.4 DLL的初始化和終止
    2.7 DLL的函數(shù)要求
    2.8框架驅(qū)動(dòng)程序
    2.9建立框架驅(qū)動(dòng)程序
    2.10 DLL需要應(yīng)用程序
    2.11驅(qū)動(dòng)程序的調(diào)試工具
    2.12總結(jié)
   第 3 章與硬件相連接
    3.1端日映射和內(nèi)存映射的比較
    3.1.1訪問瑞口映射硬件
    3.1.2訪問內(nèi)存映射硬件
    3.1.3兩步驟地址轉(zhuǎn)換過程
    3.1.4對(duì)1 MB以下的設(shè)備映射使用預(yù)定義的選擇器
    3.2端口映射例子程序
    3.2.1例子程序 3.1
    3.2.2例子程序 3.2
    3.2.3例子、序3.3
    3.2.4例子程序 3.4
    3.2.5例子程序 3.5
    3.3驅(qū)動(dòng)程序設(shè)計(jì)概述
    3.4驅(qū)動(dòng)程序例子
    3.5內(nèi)存映射的方案
    3.6先進(jìn)內(nèi)存的問題
    3.7設(shè)備映射大于1 MB需要DPMI服務(wù)
    3.8總結(jié)
   第4章中斷方式設(shè)備驅(qū)動(dòng)程序
    4.1 Windows虛擬內(nèi)存
    4.2 實(shí)現(xiàn)方法
    4.3什么是可以丟棄的
    4.4為什么整理內(nèi)存
    4.5安全中斷驅(qū)動(dòng)程序內(nèi)存需求
    4.5.1固定的原因
    4.5.2不可丟棄的原因
    4.5.3頁面鎖定的原因
    4.6中斷安全的代碼和數(shù)據(jù)
    4.6.1 FIXED何時(shí)是真正固定的
    4.6.2動(dòng)態(tài)分配中斷安全的緩沖區(qū)
   第二部分 虛擬驅(qū)動(dòng)程序簡介
   第5章Windows的虛擬世界
    5.1虛擬機(jī)是什么
    5.2 Windows的執(zhí)行環(huán)境
    5.2.1管理程序
    5.2.2 Wndows應(yīng)用程序
    5.2.3 DOS應(yīng)用程序
    5.3 Wndows地址空間
    5.3.1線性地址空間
    5.3.2線性地址空間和物理地址空間
    5.3.3邏輯、線性和物理地址空間
    5.4這意味著什么
    5.5實(shí)現(xiàn)虛擬機(jī)
    5.5.1捕獲I/O操作
    5.5.2捕獲內(nèi)存操作
    5.5.3捕獲中斷和異常事件
    5.6 V86模式簡介
    5.7總結(jié)
   第6章虛擬驅(qū)動(dòng)程序簡介
    6.1 VxD的基本結(jié)構(gòu)
    6.2設(shè)備描述器部件
    6.3支持?jǐn)?shù)據(jù)結(jié)構(gòu)
    6.4事件的標(biāo)志信息
    6.5保護(hù)模式初始化
    6.6創(chuàng)建VxD的工具
    6.7總結(jié)
   第7章設(shè)備選優(yōu)VxD
    7.1 VMM和處理器的異常事件
    7.2端口所有權(quán)
    7.2.1 PORTTRAP(端口訪問)程序例子
    7.2.2仿真多字節(jié)I/O
    7.2.3安裝和使用PORTTRAP
    7.3例子PAGETRAP
    7.3.1初始化例程
    7.3.2錯(cuò)誤處理器例程
    7.3.3結(jié)束處理器
    7.3.4測(cè)試PAGETRAP
    7.4總結(jié)
   第8章服務(wù)硬件中斷的VxD
    8.1中斷和VMM
    8.1.1中斷反射的過程
    8.1.2哪個(gè)VM獲得中斷
    8.1.3擴(kuò)展模式中的中斷執(zhí)行時(shí)間
    8.2 VxD通信
    8.2.1傳遞參數(shù)
    8.2.2從應(yīng)用程序調(diào)用VxD的API
    8.2.3硬件中斷處理VxD
    8.2.4 API調(diào)用服務(wù)
   8.3硬件中斷反射VxD
    8.3.1目調(diào)Mast
    8.3.2目調(diào)Hw_Int
    8.3.3回調(diào)EOI
    8.3.4回調(diào)Virt_Int和IRET
   8.4總結(jié)
   第三部分特殊技術(shù)
   第9章第0層處理器縮短響應(yīng)時(shí)間
    9.1替換 VxD
    9.1.1安裝
    9.1.2初始化BIMODAL_INT STRUC
    9.2 注冊(cè)處理器
    9.2.1 VPICD初始化字段
    9.1.2處理中斷
    9.3編寫處理器程序
    9.3.1為什么沒有堆棧變量
    9.3.2一種更糟的情況
    9.4總結(jié)
   第10章雙模態(tài)驅(qū)動(dòng)程序
    10.1新的雙模態(tài)驅(qū)動(dòng)程序綜述
    10.1.1新的雙模態(tài)驅(qū)動(dòng)程序代碼
    10.1.2回調(diào)細(xì)節(jié)
    10.2總結(jié)
   第11章編寫使用DMA的驅(qū)動(dòng)程序
    11.1 DMA緩沖區(qū)的要求
    11.1.1物理上毗鄰
    11.1.2固定的和頁面鎖定
    11.1.3定位在64KB的邊界上
    11.1.4怎樣分配DMA緩沖區(qū)
    11.2 Windows下DMA的DOS應(yīng)用程序
    11.3 DMA的Wndows應(yīng)用程序可使用這個(gè)知識(shí)
    11.3.1使用VDS緩沖區(qū)更好
    11.3.2最佳的解決方案——助手VxD
    11.4 DMABUF的API
    11.5使用助手VxD——USEAPI.C
    11.6總結(jié)
   第12章使用實(shí)模式服務(wù)
    12. 1關(guān)于DOS設(shè)備驅(qū)動(dòng)程序
    12.1.1對(duì)IOCTL的專門處理
    12.1.2介紹DOS TSR
    12.1.3通過緩沖區(qū)傳遞數(shù)據(jù)
    12.1.4 TSR調(diào)用Windows應(yīng)用程序
    12.2增強(qiáng)模式中的回調(diào)
    12.3編程細(xì)節(jié)
    12.4總結(jié)
   第13章編寫標(biāo)準(zhǔn)模式的驅(qū)動(dòng)程序
    13.1基本概念
    13.1.1硬件的端口映射
    13.1.2內(nèi)存映射的硬件
    13.1.3標(biāo)準(zhǔn)模式中的選擇器
    13.2標(biāo)準(zhǔn)模式中的中斷
    13.3從保護(hù)模式和實(shí)模式中獲取中斷
    13.4分離實(shí)模式控制器和保護(hù)模式控制器
    13.5總結(jié)
   第14章定時(shí)器和軟件中斷
    14.1定時(shí)器
    14.1.1使用SetTimer()
    14. 1.2調(diào)用INT 1CH和INT 8H
    14.1.3不要依賴于每秒18.2次
    14.1.4使用timeSetEvent()
    14.1.5使用VxD
    14.1.6不要使用GetTickCount()
    14.1.7使用BIOS的周期計(jì)數(shù)或者是timeGetTime()
    14.2軟件中斷
    14.2.1連接到軟件中斷
    14.2.2用VxD捕獲軟件中斷
    14.3編程細(xì)節(jié)
    14.4總結(jié)

本目錄推薦

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