走进CPU虚拟化的世界玩转Win7XPMode微软新一代操作系统——Windows7(简称Win7),已经发布好几个月了,在新系统中有很多新鲜的功能。其中,在Win7的专业版、企业版、旗舰版中,微软给我们提供了一个叫WinXPMode的功能,基于微软的VirtualPC虚拟化技术,结合处理器的硬件虚拟化功能(AMD-V/IntelVT),可在Win7系统下模拟一个WinXPSP3系统,而且在其中操作不会影响到Win7,还可以直接调用Win7中的硬盘、软件等,相当实用。WinXPMode对硬件有啥要求尽管,并不是什么电脑平台都可以用得上WinXPMode,它对硬件平台有一定的要求:1.CPU:支持Intel或AMD的硬件虚拟化技术;2.内存:至少1.5GB,推荐2GB;3.硬盘:C盘有足够的空余空间,最少2GB,建议10GB以上。在这些要求中,CPU支持硬件虚拟化是最重要的,也是必须的,如果CPU不支持硬件虚拟化技术,那么Win7就无法安装WinXPMode功能。小提示:WinXPMode有很多种语言,用户必须安装与系统相同的语言的版本,其下载地址为http://www.microsoft.com/china/windows/virtual-pc/download.aspx。硬件虚拟化是什么我们选购CPU的时候,对于CPU是不是支持硬件虚拟化技术通常并没不在意,因为在大部分日常应用中接触较少。实际上,硬件虚拟化技术并不是一个新鲜事物,在传统的大型电脑和Unix系统上早已是很普及了。虚拟化是一个非常广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。简单地说,CPU虚拟化技术可以用单CPU模拟多个CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而提高计算机的工作效率。硬件虚拟化与多任务、超线程有啥区别可能很多人都知道,在许多单核心的CPU系统中,通过VMwareworkstation、VirtualPC、VirtualBOX等软件也可以虚拟运行多个系统。另外,有一些支持超线程技术的单核CPU,在系统中我们可以看到两个CPU,这些技术和硬件虚拟化有什么不同呢?多任务工作原理示意图1.硬件虚拟化与多任务的区别在单核CPU上,如果系统不支持硬件虚拟化技术,而通过虚拟化软件来模拟多系统效果,这就是利用了CPU的多任务技术(目前所有的CPU都是支持多任务技术的),但是它要求操作系统也支持多任务。也就是说,多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,你可以拥有多个操作系统同时运行,每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU上。小提示:目前,所有的Windows系统和Linux系统都是支持多任务的,都可以多个程序同时并行运行,而老旧DOS系统则是单任务系统,不能同时运行多个程序。2.硬件虚拟化与超线程的区别每个单位时间内,CPU的一个处理单元只能处理一个线程,要想在单位时间内处理两个的线程是不可能的,除非是有两个的处理单元。超线程技术便是将原来的两个处理单元整合(或看做)一个处理单元里面,从而让CPU在单位时间内处理两个线程,以改善程序运行的性能。超线程工作原理示意图但是,CPU内部的处理单元和原来是一样的,都是在同一个核心里面,因此整合后的处理单元之间只能协同工作。相比之下,硬件虚拟化技术就是让单CPU模拟成为多个处理核心,每个核心之间是相互独立的,因此它可以同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。硬件虚拟技术原理示意图3.硬件虚拟化的优势从三者的技术原理对比上,相信大家不难看出,硬件虚拟化技术在进行多任务、多线程以及多平台处理时有许多优势。简单归纳,有如下几点:第一,进行多任务处理、多线程时,系统速度和效率会明显提高。比如,当你在Win7下播放电影、听音乐或者网络下载时,你再打开一个虚拟系统(例如在VMwareworkstation中运行WinXP),那么采用硬件虚拟化技术的CPU就不会让整个系统的速度和效率降下来。第二,多平台处理时,工作效率会明显提高。比如,如果你正在同时运行几个操作系统,当你准备给其中一个系统安排一些新工作(比如载入一个新的映像),那么虚拟化技术就可以让你将该系统正在处理的工作分流给其他系统运行。第三,多系统的安全性更好。比...