本发明专利技术的各种实施例针对的都是双模态虚拟装置方法(即,“双模态装置”)。在某些实施例中,双模态装置是一种主要基于真实硬件以提供与运行在客环境中的软件的广泛兼容性的虚拟装置(类似于硬件装置虚拟化方法)。但是,为克服困扰硬件虚拟装置的性能低下问题,这些实施例还提供一种在原基于硬件的装置中无法找到的理想化“高性能”模式。为与原硬件装置交互开发的、不知晓(和不能使用)高性能模式的软件驱动程序(和其它软件)将继续使用“延用模式”(硬件虚拟化),而客软件的增强版本则能识别和利用高性能模式(理想化虚拟)。
【技术实现步骤摘要】
本专利技术一般涉及计算机系统中的虚拟装置领域,更明确地涉及计算机系统中可按硬件虚拟装置或理想化虚拟装置何者更为合适而选择性地操作的增强虚拟装置。(2)
技术介绍
虚拟装置是一种用软件实现的、与某种真实的或理想化的物理装置相对应的逻辑装置。一般有两种为虚拟化装置建模的方法直接为现存硬件建模的“硬件虚拟装置”法;以及不仅仅是物理硬件反映而是为VM环境而优化的“理想化虚拟装置”法。硬件虚拟装置方法在兼容性上提供优势-因为在每一方面,虚拟装置都产生如同真实装置那样的效果,被设计成与该装置(例如,驱动器)交互的软件不经改动就可在硬件虚拟装置上工作。但是,论及性能时,硬件虚拟装置就处于劣势-因为硬件设计者一般不会考虑到虚拟化问题,在不发生重大开销成本(和低效率)的情况下,物理硬件常常难以用虚拟装置仿效,因此硬件虚拟装置常常显著地慢于相对应的真实硬件。另一方面,理想化虚拟装置为开发者提供了有效的自由度,来设计一种既易于实现又可有效使用的虚拟装置。因为理想化虚拟装置的设计不需要囿于加在物理硬件设计上的限制,理想化虚拟装置可以优化,以在VM环境中使用。而且,理想化虚拟装置的开发者不需要使自己关注那些现存软件正确运行所可能倚赖的微妙副作用(诸如定时、状态改变等等)。此外,开发者也可以创造类似于实际上并不存在的硬件的理想化虚拟装置-例如,允许客系统和主系统之间通讯的虚拟装置。然而,不利之处在于兼容性问题可能会在理想化虚拟装置方法中产生,因为虚拟装置实际上可能不会在每一方面都正好像真实装置一样操作,被设计成与该物理装置(例如,驱动器)交互的软件不经改动可能不能正确地在理想化虚拟装置上工作,甚至根本工作不了。本领域所需要的是一种虚拟化装置的方法,其具备所述两种现有方法优点但没有它们的大多数局限。(3)
技术实现思路
本专利技术的各种实施例都是针对结合了硬件和理想化装置虚拟化方法的相对强项而同时减轻它们各自弱点的双模态虚拟装置方法(即,“双模态装置”)。在某些实施例中,双模态装置是一种主要基于真实硬件提供与运行在客环境中的软件广泛兼容性的虚拟装置(类似于硬件装置虚拟化方法)。但是,为克服困扰硬件虚拟装置的性能低下问题,这些实施例还提供一种在原基于硬件的装置中无法找到的理想化“高性能模式”。为与原硬件装置互动而开发的和未意识到(和不能使用)高性能模式的软件驱动程序(driver)(和其它软件)将继续使用“延用模式(legacy mode)”(硬件虚拟化),而客软件的增强版将可以识别和利用高性能模式(理想化虚拟)。(4)附图说明结合附图参阅前述
技术实现思路
和以下优选实施例的具体说明会有更好的理解。为了阐述本专利技术,附图中显示了本专利技术的示例型结构;但是,本专利技术并不限于所公开的具体方法和手段。在附图中图1所示的块图表示了本专利技术的诸方面可在其中应用的计算机系统;图2图示了计算机系统中仿真操作环境的硬件及软件体系结构的逻辑分层;图3A图示了虚拟化计算系统;图3B图示了包括运行在主运行系统之侧的虚拟机器监视器的虚拟化计算系统的可选实施例;图4A图示了图3的虚拟化计算系统,还包括驱动器、虚拟装置、和硬件;图4B图示了从客操作系统中运行的应用程序到图4A中计算机硬件的硬件装置的操作路径;图5更简单地图示了与图4B相同的驱动器、虚拟装置和硬件之间的相互关系;图6A图示了图5所示子系统中虚拟装置为双模态装置所替代,所述双模态装置以延用模式运行;以及图6B图示了以高性能模式运行的图6A所示的双模态装置。(5)具体实施方式为了满足法规要求,本专利技术主题用具体细节进行了描述。然而,说明书本身并非用来限制本专利的范围。相反,专利技术者已预期本专利技术权利要求的主题也能用其它方式来具体实施,以结合其它现有的或未来的技术包含不同于本文件中所说明的步骤或类似步骤的组合。另外,尽管“步骤”这个术语可能在此处被用来意味着所采用方法的不同元素,但是,除非单个步骤间的顺序有很清晰的说明,该术语不应当被解释为暗含在此揭示的不同步骤之间有着任何特殊顺序。计算机环境本专利技术的很多实施例可以在计算机上运行。图1和以下讨论是要提供一种适于本专利技术在其中实现的计算环境的简要一般说明。尽管不是必需的,本专利技术将以计算机可执行指令的一般上下文进行说明,诸如由客户工作站或服务器等计算机执行的程序模块。一般,程序模块包括执行具体任务或实现具体抽象数据结构的例程、程序、对象、组件、数据结构等等。另外,本领域技术人员会理解本专利技术在其它计算机系统配置中,包括手持式装置、多处理器系统、基于微处理器的或可编程的电器消费品、网络PC、迷你计算机、大型机和类似配置,也是可以实践的。本专利技术还可在任务由经通讯网络连接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置于本地和远程存储器存储设备。如图1所示,示例性通用计算系统具有常规个人计算机20或类似物,包括处理单元21、系统存储器22以及把包括系统存储器在内的各种系统组件耦合到处理单元21的系统总线23。系统总线23可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线架构的任一种的本地总线。系统存储器包括只读存储器(ROM)24和随机存储器(RAM)25。含有帮助个人计算机20中元件间,如启动时,的信息交换的基本例程的基本输入/输出系统(BIOS)26存储在ROM24中。个人计算机20还包括读取和写入硬盘(未示出)的硬盘驱动器27、读取或写入可移动磁盘29的磁盘驱动器28、和读取或写入诸如CD ROM或其它光学介质等可移动光盘31的光盘驱动器30。硬盘驱动器27、磁盘驱动器28、光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33、光盘驱动器接口34连接至系统总线23。诸驱动器及其相应的计算机可读介质为个人计算机20提供计算机可读指令、数据结构、程序模块和其它数据的非易失储存。尽管所述示例性环境采用了硬盘、可移动磁盘29和可移动光盘31,但本领域技术人员应该理解其它类型计算机可访问的能够存储数据的计算机可读介质,如磁带、闪存卡、数字式视频盘、Bernoulli盘、随机存取存储器(RAM)、只读存储器(ROM)和其它类似物,也能用于示例性运行环境。众多程序模块,包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38,可以存储在硬盘、磁盘29、光盘31、ROM24或RAM25中。用户可通过输入装置如键盘40和定位装置42向个人计算机20输入指令和信息。其它输入装置(未示出)可包括话筒、游戏杆、游戏垫、卫星接收器、扫描仪或类似装置。这些和其它输入装置通常通过与系统总线耦合的串行端口接口46连接到处理单元21,但也可能通过其它接口相连,如并行端口、游戏端口或通用串行总线(USB)。监视器47或其它类型显示装置也通过接口,如视频适配器48和系统总线23相连。除了显示器47,个人计算机通常包括其它外围输出装置(未示出),如扬声器和打印机。图1的示例性系统还包括主适配器55、小型计算机系统接口(SCSI)总线56和与SCSI总线56相连的外部存储装置62。个人计算机20可以在使用与一台或多台远程计算机,诸如远程计算机49的逻辑连接的网络化环境中运行。远程计算机49可以是另一台个人计算机、服务器、路由器本文档来自技高网...
【技术保护点】
一种在计算机系统中改进虚拟装置性能的方法,其特征在于,所述方法包括利用一种双模态虚拟装置,其可选择性地在第一模式中按硬件虚拟装置操作,而在第二模式中按理想化虚拟装置操作。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:E特罗特,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。