freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

現(xiàn)代微機原理與接口技術(shù)接口第10章-wenkub.com

2024-10-02 18:47 本頁面
   

【正文】 dirid是一個目錄代碼 , 指示存放文件的標(biāo)準(zhǔn)位置 。 INF文件含有安裝一個 WDM設(shè)備驅(qū)動程序需要的所有必需的信息,包括要復(fù)制的文件列表和要創(chuàng)建的注冊表項等。 現(xiàn)代微機原理與接口技術(shù) 71 數(shù)據(jù)寬度 端口訪問函數(shù) 內(nèi)存訪問函數(shù) 8位 READ_PORT_UCHAR WRITE_PORT_UCHAR READ_REGISTER_UCHAR WRITE_ REGISTER _UCHAR 16位 READ_PORT_USHORT WRITE_PORT_USHORT READ_ REGISTER _USHORT WRITE_ REGISTER _USHORT 32位 READ_PORT_ULONG WRITE_PORT_ULONG READ_ REGISTER _ULONG WRITE_ REGISTER _ULONG 8 位字符串 READ_PORT_BUFFER_UCHAR WRITE_PORT_BUFFER_UCHAR READ_ REGISTER _BUFFER_UCHAR WRITE_ REGISTER _BUFFER_UCHAR 16位字符串 READ_PORT_BUFFER_USHORT WRITE_PORT_BUFFER_USHORT READ_ REGISTER _BUFFER_USHORT WRITE_ REGISTER _BUFFER_USHORT 32位字符串 READ_PORT_BUFFER_ULONG WRITE_PORT_BUFFER_ULONG READ_ REGISTER _BUFFER_ULONG WRITE_ REGISTER _BUFFER_ULONG 現(xiàn)代微機原理與接口技術(shù) 72 2. 響應(yīng)中斷 響應(yīng)中斷首先要配置中斷 , 也就是截獲中斷 , 然后就需要編寫中斷處理程序 。 IRP_MN_QUERY_STOP_DEVICE 詢問設(shè)備是否可以停止 IRP_MN_QUERY_REMOVE_DEVICE 詢問一個設(shè)備是否可以刪除 現(xiàn)代微機原理與接口技術(shù) 67 即插即用 支持即插即用主要是指實現(xiàn)一個 AddDevice程序和一個 IRP_MJ_PNP處理程序。 2. I/O管理器創(chuàng)建 IRP。 ? DispatchWmi函數(shù): WMI是微軟實現(xiàn)的基于 Web的企業(yè)管理工業(yè)標(biāo)準(zhǔn),該函數(shù)用于處理有關(guān)的消息。在這個例程中完成某些全局初始化工作,還要設(shè)置響應(yīng)各種用戶請求的分發(fā)例程與 I/O控制例程的入口。 PDEVICE_OBJECT DeviceObject; //設(shè)備對象結(jié)構(gòu) PIO_STACK_LOCATION stack = IoGetNextIrpStackLocation(Irp) ; //獲得該 IRP第一個堆棧單元的指針 stackMajorFunction = IRP_MJ_Xxx; //填充 MajorFunction代碼 …… //可以對棧做其他初始化的工作 // 這里可能運行 StartIo NTSTATUS status = IoCallDriver( DeviceObject, Irp) ; //把 IRP發(fā)送到設(shè)備驅(qū)動程序 返回 現(xiàn)代微機原理與接口技術(shù) 59 下面是 IoCallDriver的執(zhí)行過程: NTSTATUS IoCallDriver( PDEVICE_OBJECT device, PIRP Irp) { IoSetNextIrpStackLocation( Irp) ; PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation ( Irp) ; //獲得棧單元指針 stackDeviceObject = device; //設(shè)置設(shè)備對象結(jié)構(gòu)地址 ULONG f = stackMajorFunction; //得到主功能號 PDRIVER_OBJECT driver = deviceDriverObject; //獲得驅(qū)動程序?qū)ο蟮牡刂? return( *driverMajorFunction[f]) ( device, Irp) ; //利用主功能號調(diào)用相應(yīng)的派遣函數(shù) } *driver MajorFunction[f]是函數(shù)指針,它所指向的派遣函數(shù)是在 DriverEntry例程中指定的。 創(chuàng)建 IRP的可以是 I/O管理器,也可以是其他的驅(qū)動程序。 4. IRP傳遞的順序 46頁 現(xiàn)代微機原理與接口技術(shù) 52 I/O請求包 (IRP) I/O請求包( IRP)是驅(qū)動程序操作的中心,它是一個內(nèi)核 “ 對象 ” , 是預(yù)先定義的數(shù)據(jù)結(jié)構(gòu) , 帶有一組對它進行操作的 I/O管理器程序 。該函數(shù)創(chuàng)建一個 FiDO,從而在過濾器驅(qū)動程序和 FiDO之間建立了水平連接 按照 INF文件的指令安裝驅(qū)動程序 現(xiàn)代微機原理與接口技術(shù) 50 PnP管理器繼續(xù)向上執(zhí)行,依次裝入并調(diào)用每個低層過濾器、功能驅(qū)動程序和每個高層過濾器,直到完成整個設(shè)備對象棧 AddDevice把 PDO連接到 FiDO上 PnP管理器給設(shè)備發(fā)送各種 PnP IRP PnP管理器給 發(fā)送 “ 啟動設(shè)備 ” PnP IRP告訴驅(qū)動程序已經(jīng)給它分配了哪些資源 , 驅(qū)動程序使用這些資源分配啟動它的設(shè)備 驅(qū)動程序處于等待處理 IRP的狀態(tài) 現(xiàn)代微機原理與接口技術(shù) 51 當(dāng)應(yīng)用程序因要向驅(qū)動程序提出各類請求(如讀、寫數(shù)據(jù)等)而調(diào)用相關(guān)函數(shù)的時候,就會使得 I/O管理器創(chuàng)建一個 I/O請求包( IRP)。這個驅(qū)動程序?qū)嶋H上和同類設(shè)備共同擁有。 現(xiàn)代微機原理與接口技術(shù) 46 FiDO FDO FiDO PDO 上層過濾器驅(qū)動程序 功能驅(qū)動程序 下層過濾器驅(qū)動程序 總線驅(qū)動程序 IRP I/O系統(tǒng)服務(wù) Win32子系統(tǒng) 應(yīng)用程序 I/O管理器 用戶態(tài) 核心態(tài) 設(shè)備對象棧 46頁 現(xiàn)代微機原理與接口技術(shù) 47 WDM驅(qū)動程序模型中,每個硬件設(shè)備可以有多個驅(qū)動程序: 功能驅(qū)動程序 :管理 FDO所代表的設(shè)備,負責(zé)其初始化、處理 I/O操作完成時產(chǎn)生的中斷事件并為用戶提供一種適當(dāng)?shù)脑O(shè)備控制方式。每個物理設(shè)備被創(chuàng)建一個 PDO 功能設(shè)備對象 : 簡稱 FDO,在 PDO之上,描述設(shè)備功能的相關(guān)數(shù)據(jù)結(jié)構(gòu)。 現(xiàn)代微機原理與接口技術(shù) 40 typedef struct tagDDB { DWORD DDB_Next; // VMM使用這一項來指出 // 下一個 DDB的地址 WORD DDB_SDK_Version; // 建立該 VxD所使用的 // SDK/DDK的版本號 WORD DDB_Req_Device_Number; // 設(shè)備 ID。 ? VxD_ICODE 保護模式下的初始化代碼段 初始化的時候用的服務(wù)程序和過程。 現(xiàn)代微機原理與接口技術(shù) 33 VMM異常處理程序使用 IRET或 IRETD指令返回到虛擬機中,虛擬機中的應(yīng)用程序重新獲得控制從而繼續(xù)執(zhí)行。 其他各種 VxD可以通過安裝回調(diào)例程來響應(yīng)處理各種異常和中斷 ,但是它們不能改變中斷描述符表 IDT中給出的各種 VMM異常處理程序。 IOPL用以表示指定的 I/O操作處于特權(quán)級的哪一級。 現(xiàn)代微機原理與接口技術(shù) 9 保護模式下使用的系統(tǒng)地址寄存器 ? GDTR — 48位的全局描述符表寄存器 全局描述符表 32位線性地址 16位界限值 ? IDTR — 48位的中斷描述符表寄存器 中斷描述符表 32位線性地址 16位界限值 ? TR — 16位的任務(wù)狀態(tài)段寄存器 TSS的 16位選擇字 ? LDTR — 16位的局部描述符選擇字寄存器 LDT的 16位選擇字 現(xiàn)代微機原理與接口技術(shù) 10 保護模式下 Pentium 4的段式存儲管理 1. 段式管理的地址變換 段寄存器的 15~2位 偏移量 45 32 31 0 段描述符 段表 32位線性地址 物理地址 邏輯地址 段基址 Pentium 系列的虛擬地址空間是 246= 64TB。 缺點 :需要了解大量的 API和功能調(diào)用函數(shù)的功能。 現(xiàn)代微機原理與接口技術(shù) 6 特點 :使用操作系統(tǒng)各種驅(qū)動程序所提供的功能調(diào)用或 API函數(shù)間接對硬件或內(nèi)存進行訪問。 應(yīng)用 :在操作系統(tǒng)層面上的設(shè)備控制,并為應(yīng)用程序提供 API支持。 缺點 :需要對底層信號有所了解。 應(yīng)用 :驅(qū)動程序有些會使用這些功能調(diào)用。 要會匯編,或熟練使用 C語言的指針。 應(yīng)用 : BIOS都是基于這種低級層次用匯編來編寫的。 現(xiàn)代微機原理與接口技術(shù) 1 第 10章 PC機的高級編程技術(shù) 現(xiàn)代微機原理與接口技術(shù) 2 PC機環(huán)境下軟件對接口的訪問層次 裸機 BIOS 直接訪問 操作系統(tǒng) 驅(qū)動程序 間接訪問 應(yīng)用程序 現(xiàn)代微機原理與接口技術(shù) 3 特點 :可以直接進行內(nèi)存和端口的訪問,也可以自行決定是否在實模式和保護模式間切換。驅(qū)動程序也有使用這種方法的。 不利于增加對新設(shè)備的控制。需要獲得高效率的應(yīng)用程序也采用這種方法。 增加對新設(shè)備的控制不是很方便,但好于低級層次。 優(yōu)點 :既控制硬件,又保證操作系統(tǒng)的完整與安全。 工具 : VC+
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1