首  页 | 资讯中心 | 网络学院 | 天新汽车 | 天新手机 | 天新游戏 | 软件开发 | 考试认证
品 牌 机 | 笔 记 本 | 服 务 器 | 天新数码 - DC - DV - MP3 - MP4 - GPS - TV | 数字家庭
硬件 DIY - 主板 - CPU - 内 存 - 硬 盘 - 显示器 - 显卡 - 光驱 - 机箱 - 键鼠 - 网络设备
办公设备 | 打 印 机 | 扫 描 仪 | 投 影 仪 | 一 体 机 | 传 真 机 | 路 由 器 | 交 换 机
软件下载 | 驱动下载 | 游戏下载 | 源码下载 | 教程下载 | 站长在线 | 产品中心 | 报价中心
开发首页 | 开发语言 | .Net开发 | Java开发 | Web开发 | 移动开发 | 游戏开发 | 数据库开发 | 企业开发 | 操作系统 | 软件工程
VB VC Delphi PB BCB C++ - ASP.net C# VB.net - J2EE J2SE J2ME EJB - ASP PHP JSP CGI - MSSQL Oracle DB2 MySQL - CodingLife
  操作系统首页 | Windows编程 | Linux编程
  您现在的位置:天新网 > 软件开发 > 操作系统 > Windows编程
虚拟设备驱动程序的实现
http://dev.21tx.com 2004年04月28日 ghj1976

每日文章精萃
.Net:通过Web Services上传和下载文件 Java:基于EJB技术的商务预订系统的开发
ASP:MD5不可逆加密算法的ASP实现实例 PHP:PHP安装攻略:PHP3+NT+IIS
JSP:JSP调用JavaBean在网页上动态生成柱 CGI:perl实例分析教程之九
VB:调用 API 实现 Ani 窗体 VC:一般性编程问题-源码-字符串处理(三)

1 2 3 下一页


  由于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级上的。

上一篇: Longhorn应用开发部署初探
下一篇: Win32编程基础知识

1 2 3 下一页

编辑推荐
相关内容
·虚拟设备驱动程序关键问题之消息队列
·虚拟设备驱动程序两关键问题之虚拟化
·Win32串口操作的技巧
·NetBIOS特性与编程基础
·AT&T x86 asm 语法
·Win32设备驱动程序的体系结构
·数据类型对软件性能的影响
·优化软件性能的方法
·移动Agent体系结构及迁移实现
·用DirectDraw编写动画程序
·打开”金笼子”——VXD技术漫谈
·Win32位程序设计初步之服务
·Win32环境下动态链接库(DLL)编程原理
·虚拟设备驱动程序的设计与实现
·Windows程序的基本结构
·Windows编程中的堆管理
·临时对象对软件性能的影响
·Internet上的图像检索技术
·数据库的发展和现状
·加强客户端约束增强数据库完整性
最近更新
人气最热
·WDM设备驱动程序开发平台
·Windows编程中的堆管理
·Win2k驱动程序设计之硬件
·Win2000驱动程序设计初步
·Longhorn应用开发部署初探
·Win32编程基础知识
·Win32编程中如何处理控制台消息
·Win32串口操作的技巧
·UML辅助网站规划和设计指南
·NetBIOS特性与编程基础
·Win32编程基础知识
·WDM设备驱动程序开发平台
·Windows编程中的堆管理
·Win2k驱动程序设计之硬件
·UML辅助网站规划和设计指南
·Win32串口操作的技巧
·Win2000驱动程序设计初步
·Longhorn应用开发部署初探
·用DirectDraw编写动画程序
·Internet上的图像检索技术

 
·[硬件]都能买的起! 无线路由只要288
·[数码]粉红色的诱惑 精美iPod Nano皮套欣赏
·[汽车][四川]人南立交桥今起铺沥青 施工将在
·[开发]Winsock错误代码一览表
·[资讯]中国科学家发现迄今最原始的肉鳍硬骨鱼
·[游戏]《冰封王座》中国电子竞技运动发展中心
·[本本]攘外必先安内WAPI先做行业标准
·[办公]索尼“问题液晶/背投”之解决方案
·[手机]精明能干 摩托罗拉二万像素A1200仅售43
·[考试]父母期望过高让16岁富家少年重度网络成
·[学院]解决Radeon 8500(9100)在CS中显示问题
·[娱乐]青春
 

关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net