XP兼容模式会被Windows7添麻烦?
在Windows 7 RC(候选发布版)发布之际,微软新推出的Windows XP Mode(XP兼容模式)功能成为关注的焦点,并形成了两种对立的声音:热情洋溢的赞誉和毫不留情的抨击——尽管它并没有被集成在Windows 7 RC内而是稍晚由微软站点提供单独下载,尽管绝大多数人还没有真正体验过它,只是“XP”和“兼容”这几个敏感字眼,就足够牵动人们的神经了。
程序兼容新思路:
虚拟机技术
从4月14日开始,微软停止对Windows XP的主流技术支持(Mainstream support),这意味着XP退出历史舞台已经进入倒计时。而微软宣布在Windows 7中增XP兼容模式是在4月28日。两个日期的选择,意味深长。
即使微软使出浑身解数推广Vista,但发布两年多后,Vista在桌面操作系统的占有率才刚刚过20%。XP的顽强生命力让微软明白,Vista的名声已难以挽回,要想推动桌面操作系统的更新换代,只有冀望于目前备受好评的Windows 7。
为了减小Windows 7的推广阻力,微软再次使用了胡萝卜加大棒的策略。大棒:停止向广大个人和企业用户妥协,不再延长对XP的支持,强行让XP退市;胡萝卜:考虑到兼容性问 题是Vista被广泛诟病的关键原因,在Windows 7中加入XP兼容模式,即万一程序在Windows 7上存在兼容问题,用户可以选择让程序运行于模拟的XP环境,从而解除用户对兼容性的顾虑。这一功能的实现,是通过迅速发展的虚拟机技术完成的。
在Windows 7 RC上,微软利用最新的Virtual PC 7作为虚拟机,通过载入预先配置好的虚拟机配置文件(文件名Virtual Windows XP.VHD)从而得到模拟的XP环境。其实,利用虚拟机技术实现程序兼容在Windows XP时代已经被引入,即“程序兼容向导”,只不过那时虚拟机技术发展的不成熟让它没有一鸣惊人罢了。
XP兼容模式恐为Windows7添麻烦
三大优点看上去很美
第一,在用户界面和使用体验上实现了虚拟机与物理机的统一。
传统的虚拟机上的Windows(客户操作系统)和程序被封闭于独立的虚拟机窗口中。用户若要运行虚拟机中的程序,必须先启动虚拟机程序再启动其上的客户操作系统。
在XP兼容模式下,由于利用了Remote Desktop Protocol(远程桌面协议)中的Remote Applications Integrated Locally (远程程序本地整合)、multi-monitor support(多显示器支持)等技术,XP兼容模式下安装的程序会直接出现于Windows 7(宿主操作系统)的开始菜单中,用户可以像操作普通程序那样直接通过鼠标点击运行。
第二,将程序兼容性问题与操作系统开发剥离。
为老版本软件提供向下兼容,这对每个操作系统都是极富挑战性的难题。新操作系统通常引入了大量全新的API(应用程序接口),这是引发老版本程序兼容 性问题的关键。传统上,解决这些问题要么更新操作系统(打补丁),要么升级应用程序,而这些通常都需要大量时间反复调试代码并进行测试。
用虚拟机技术来实现程序兼容,则任务相对简单了很多,开发者只要把精力集中于虚拟机和客户操作系统与宿主操作系统的交互上,而不必劳神于五花八门的各 类应用程序接口修改上。同时,将程序兼容性问题与操作系统自身的开发剥离,单纯通过对虚拟机程序和客户操作系统的配置或升级即可提升其兼容性,而不必考虑 修改宿主操作系统的风险。
第三,XP兼容模式具有较强的拓展性。
对于普通个人用户和小型企业用户而言,对XP兼容模式的管理和维护是在单机上进行(直接控制Virtual PC 7);而对于大型企业用户而言,借助微软近年大力推广的MED-V(微软企业桌面虚拟)技术,可以对网络中的虚拟机、虚拟机配置文件(VHD文件)进行集 中式的管理;此外,随着Hyper-V(微软推出的基于Windows Server 2008的虚拟化服务器管理技术)的出现,XP兼容模式有朝一日被整合入Hyper-V,让桌面虚拟和服务器虚拟无缝衔接并非梦想。
不确定因素
可能带来新担忧
第一,虚拟机性能是否够用。
有虚拟机使用经验的人都清楚,它的最大弱点就是执行效率低下、运行速度慢。这是由虚拟机软件的原理决定的。客户操作系统通常不能直接控制硬件设备,而 需通过虚拟机软件和宿主操作系统间接控制硬件设备(即用软件的方法虚拟出硬件设备),其执行效率较宿主操作系统(可以直接控制硬件设备)差别极大。
目前,仅有CPU能够部分做到硬件级别的虚拟化支持(客户操作系统可以直接控制硬件设备如CPU和内存),而对系统性能影响巨大的显示、磁盘、网络等 设备尚不具备硬件层面的虚拟化支持,因此无论Virtual PC 7有多么大的进步,XP兼容模式的运行速度不会比传统的虚拟机环境有质的改善。
可以预料的是,在XP兼容模式下,虚拟机中显卡的3D性能、声卡的硬件加速以及网卡的性能都会远远慢于物理机。如果兼容性问题的改善是以性能的巨大损失为代价,它存在的意义在哪里呢?
第二,维护代价增大。
尽管XP兼容模式让虚拟机界面和物理机界面归于统一,但毕竟用户仍必须面对两个不同的操作系统的维护工作。仅仅是安装补丁、升级防火墙和杀毒软件就会让维护工作翻番。而多出一个操作系统,会因为被攻击目标扩大而让安全级别下降很多。
第三,硬件需求激增。
由于第一个原因,为了能让XP兼容模式能够保持基本的性能,微软对Windows 7 RC建议的最低配置是2GB内存、15GB的硬盘空间,以及具备硬件级虚拟支持的CPU(Intel-VT或者AMD-V,消费级CPU通常都屏蔽了该功 能)。对比Vista的512MB内存、赛扬1GHz以上的CPU,对于以保持甚至降低硬件需求为目的Windows 7而言,这不啻是一种讽刺。同时微软承认,作为提高Windows 7兼容性的一种补充,XP兼容模式并不能保证所有XP下的程序顺利运行于Windows 7上。