我爱黑客网首页 设为首页
加入收藏
联系我们
 首 页  技术文章 下载中心 站长学院 交流论坛
 软件:
 文章:        教程:
 推荐: 我爱黑客网论坛
 
 
 
 
   
黑软: Q Q 软件 木马间谍 探嗅监听 溢出攻击 加密解密 漏洞扫描 脚本注入 远程控制 综合利用 聊天工具  
 
技术文章: 爱黑新闻 | 黑客攻防 | 网络技术 | 程序设计 | 系统操作 | 本站动态 | 业界动态 | 安全公告 | 病毒公告 | 八卦黑客
 
 
您当前的位置:我爱黑客 -> 程序设计 -> C++ -> C++系统 -> 文章内容  
栏目导航
· C++综合 · C++通信
· C++视图 · C++图象
· C++系统 · C++多媒体
· C++界面 · C++文件
· C++数据库 · C++网络
热门文章
· 10分钟完成一个USB驱动..
· 通过消息实现自定义输..
· 防止因系统崩溃而丢失..
· 文本框控件的消息及应..
· 获取信息的有关Window..
· 如何自动移去系统托盘..
· 读取其他应用程序中Li..
· 如何实现大图标风格的..
· BCB6/Delphi7下完美调..
· 虚拟设备驱动程序的设..
· 用游戏操纵杆摸拟鼠标..
· 如何读写硬件端口
相关文章

· Internet服务端口测..
· 罗云彬VxD教程--虚拟..
· 罗云彬VxD教程--虚拟..
· 罗云彬VxD教程--虚拟..
· 使用Windows虚拟设备..
· 罗云彬VxD教程--虚拟..
· 使用Windows虚拟设备..
· [图文] C++类的多重继..
· C++ Builder中应用G..
· C++箴言:绝不重定义..
查看更多与虚拟设备驱动程序的设计与实现相关内容

虚拟设备驱动程序的设计与实现
作者:幽火  来源:www.5ihack.com  发布时间:2007-1-8 17:35:32  发布人:ghostfire

减小字体 增大字体

  由于Windows对系统底层操作采取了屏蔽的策略,因而对用户而言,系统变得更为安全,但这却给众多的硬件或者系统软件开发人员带来了不小的困难,因为只要应用中涉及到底层的操作,开发人员就不得不深入到Windows的内核去编写属于系统级的虚拟设备驱动程序。Win 98与Win 95设备驱动程序的机理不尽相同,Win 98不仅支持与Windows NT 5.0兼容的WDM(Win32 Driver Mode)模式驱动程序,而且还支持与Win 95兼容的虚拟设备驱动程序VxD(Virtual Device Driver)。下面介绍了基于Windows 9x平台的虚拟环境、虚拟设备驱动程序VxD的基本原理和设计方法,并结合开发工具VToolsD给出了一个为可视电话音频卡配套的虚拟设备驱动程序VxD的设计实例。

  1.Windows 9x的虚拟环境

  Windows 9x作为一个完整的32位多任务操作系统,它不像Window 3.x那样依赖于MS-DOS,但为了保证软件的兼容性,Windows 9x除了支持Win16应用程序和Win32应用程序之外,还得支持MS-DOS应用程序的运行。Windows 9x是通过虚拟机VM(Virtual Machine)环境来确保其兼容和多任务特性的。

  所谓Windows虚拟机(通常简称为Windows VM)就是指执行应用程序的虚拟环境,它包括MS-DOS VM和System VM两种虚拟机环境。在每一个MS-DOS VM中都只运行一个MS-DOS进程,而System VM能为所有的Windows应用程序和动态链接库DLL(Dynamic Link Libraries)提供运行环境。每个虚拟机都有独立的地址空间、寄存器状态、堆栈、局部描述符表、中断表状态和执行优先权。虽然Win16、Win32应用程序都运行在System VM环境下,但Win16应用程序共享同一地址空间,而Win32应用程序却有自己独立的地址空间。

  在编写应用程序时,编程人员经常忽略虚拟环境和实环境之间的差异,一般认为虚拟环境也就是实环境。但是,在编写虚拟设备驱动程序VxD时却不能这样做,因为VxD的工作是向应用程序代码提供一个与硬件接口的环境,为每一个客户虚拟机管理虚设备的状态,透明地仲裁多个应用程序,同时对底层硬件进行访问。这就是所谓虚拟化的概念。

  VxD在虚拟机管理器VMM(Virtual Machine Manager)的监控下运行,而VMM实际上是一个特殊的VxD。VMM执行与系统资源有关的工作,提供虚拟机环境(能产生、调度、卸载VM)、负责调度多线程占先时间片及管理虚拟内存等工作。VxD与VMM运行在其他任何虚拟机之外,VxD事实上就是实现虚拟机的软件的一部分。

  与大多数操作系统一样,Windows也是采用层次式体系结构。VMM和VxDs构成了Win 95的ring0级的系统核心(应用程序运行在ring3级,ring1、ring2级未被使用),具有系统的最高优先权。Windows还提供一些以"drv"为后缀名的驱动程序,主要是指串行口的通信程序和并行口的打印机程序。这些程序与VxD不同,它们是运行在ring3级上的。

查看更多与虚拟设备驱动程序的设计与实现相关内容

[ ] [返回上一页] [打 印] [收 藏]
上一篇文章:
下一篇文章:
      用游戏操纵杆摸拟鼠标       BCB6/Delphi7下完美调用CHM帮助
∷相关文章评论∷   (评论内容只代表网友观点,与本站立场无关!) [发表评论]
 
 
 
 
晋ICP备05008232   维护网络安全、传播安全技术才是我们的目标! 
 
关于本站 - 网站帮助 - - 下载声明 - 友情连接 -网站地图