网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
虚拟设备驱动程序的设计与实现
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
管理,段有六种类型,即实模式初始化、保护模式初始化、可分页、不可分页、静态和只调试(debug only),每种类型又有代码段和数据段之分,所以VxD共有12个段。实模式代码段和数据段为16位(分段模式),其他段则是32位(平面模式)。“实模式初始化”段包含了在Windows初始化过程的最初阶段VMM变为保护模式之前要执行的代码。静态加载的VxD此时可以查看Windows启动前的实模式环境,决定是否继续加载,并通知VMM。加载完毕后,VMM进入保护模式并执行保护模式初始化代码,同样将执行结果再通知VMM。初始化完成后,“实模式初始化”段和“保护模式初始化”段即被遗弃。VxD的大部分代码都在其他的某一段中,“可分页”段允许虚拟存储管理器(Virtual Memory Manager)进行分页管理,大多数的VxD代码都应当在“可分页”段。“不可分页”段的内容主要包括:VxD的主入口点、硬件中断处理函数、所访问的数据以及能被另一个VxD中断处理函数调用的异步服务。“静态”段仅用于可以动态加载的VxD,当VxD卸载后,静态代码段和数据段都保留在内存中。“只调试”段只是VMM在Soft-ICE for Win 95等调试环境下才将其载入。


  VMM是通过VxD的设备描述符块DDB(Device Descriptor Block)来识别的。DDB向VMM提供了VxD的主入口点,还向应用程序和其他的VxD提供了入口点。VMM利用这个主入口点将VM及Windows自身的状态通知给VxD,然后VxD通过相应的工作来响应这些事件。由于VxD不仅仅服务于一个物理设备(比如多个串口)或仅与一个VM发生联系,所以VxD需要产生自己支持的数据结构(Supporting Data Structures)来保存每一个设备、每一个VM的配置和状态信息。VxD用一个或多个设备上下文结构来保存设备信息,如I/O端口基地址、中断向量等,VxD将自己的每个VM的状态信息保存在VMM的VM控制块中。


  VMM提供的服务包括:事件服务、内存管理服务、兼容执行和保护模式执行的服务、登录表服务、调度程序服务、同步服务、调试服务、I/O捕获服务、处理错误和中断服务、VM中断和回调服务、配置管理程序服务以及其他杂项服务。


  以上内容仅涉及到VxD设计的一小部分,作为VxD的开发人员必须掌握更多的知识。首先是操作系统的知识,如地址空间、执行上下文、资源加锁、进程间通信和异步事件处理等方面的知识;其次,对Intel处理器应有较深入的理解,包括寄存器、机器指令集、保护机制、分页机制,以及虚拟8086模式;最后,还必须熟悉VMM提供的各类服务和接口,熟悉Windows其他的系统VxD。


  3.开发工具VToolsD简介


  VToolsD是专门用于开发VxD程序的一种工具软件,它包括VxD框架代码生成器QuickVxD、C运行库、VMM/VxD服务库、VxD的C++类库、VxDLoad和VxDView等实用工具以及大量的C、C++例程。由VC++、BC++的32位编译器编译生成的VxD程序可以脱离VToolsD环境运行。


  利用QuickVxD可以方便、快捷地生成VxD的框架,即生成后缀名为h、cpp和mak的三个文件。源文件包含了运行VxD的基本组件,其中包含控制消息处理、API入口点、以及VxD服务等函数框架,并且还定义了标志,设置了编译参数,声明了类,然后在C++环境下,向生成的各个处理函数体内添加自己的代码,最后使用编译器NMAKE生成标准的VxD程序。


  由于VxD运行在ring0级,所以调试程序相当困难。我使用的调试工具是Soft-ICE for Win 95。


  目前VToolsD的最新版本为3.0,它支持设备访问体系结构DAA(Device Access Architecture),所编写的程序代码将可以在所有Windows平台(包括Win 95、Win 98以及Windows NT)上共享。当然也可以使用Microsoft公司的DDK(Device Developer Kit)来开发VxD,但DDK不能像VToolsD那样通过屏蔽系统及VxD的底层技术细节提供丰富的C运行库和C++类库,而是让开发人员充分享用面向

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号