为什么Windows 7中的XP模式有可能改变微软设计未来操作系统的方式呢?Windows 8只运行64位代码,而绝不提供32位代码的本地支持。
大多数人认为Windows 7的XP模式仅仅是一种向后兼容机制。本文将为我们解释为什么该功能有可能改变微软未来设计操作系统的方式。现在我们都已经知道Windows 7中存在XP模式。但你可能没有意识到XP模式的存在绝不仅仅是保持向后兼容性。这一技术预示着Windows未来产品将发生一些改变。
当微软***次对外宣布Windows 7中将包含XP模式以保持向后兼容性的时候,网上的大多数报道听起来像是说Windows 7将配备一个有完全授权版本的XP运行于虚拟机上。
笔者对于这些报道却没有给予很多关注。毕竟,你可以使用Virtual PC 2007 运行虚拟机中的XP。即便微软推出了Windows XP许可证,大多数需要这一功能的人都会呼吁Windows XP许可证。因此,笔者错误地认为,Windows XP模式只是一种营销噱头,目的只是说服公众Windows 7不会出现Vista中向后兼容性的问题。
而笔者后来发现,营销噱头只是一部分事实,这一功能的推出还有其他方面的考虑。
或许你已经听说Windows XP模式将以Virtual PC技术为基础。这确实是事实。但遗憾的是,Virtual PC运行速度很慢,效率也低,因为早期的虚拟PC必须将所有的客户机硬件调用传送到主机操作系统。不过,Virtual PC 2007通常支持硬件辅助虚拟。
Virtual PC 2007中硬件辅助式虚拟不是一个基于Hyper-V管理程序,但是当你启动基于硬件设备的虚拟机时,客户机的运行速度要快一些。请记住,Windows 7将要使用更新的Virtual PC代码。该代码同样不是基于Hyper-V,但是如果在Windows 8中Hyper-V成为一种标准,我们也不会感到意外。
下一个要谈论的是Windows 7将提供Windows XP模式。如果你想启动Windows XP模式,那么意味着你要下载一个插件。该插件会被作为带外更新,将免费提供给所有使用Windows 7专业版,企业版以及旗舰版的用户。
现在要看看真正重要的部分——当你需要以Windows XP模式运行应用程序时,那些应用程序不会仅仅是运行在虚拟机中。实际上,他们确实会在虚拟机中运行,但是不仅仅是虚拟机的图形用户界面可以运行应用程序。你可以在Windows 环境中安装应用程序,但是在Windows 7界面只能够运行该程序以及其他程序。
显然,我们可以很方便地运行传统程序和更新一点的程序,不过***你会问为什么在文章一开始我们就说XP模式在Windows 7中的出现预示着未来的Windows产品将发生改变呢?
为了理解这个问题,我们要从历史的角度来分析。Windows 95是微软首款32位Windows。不管怎样,Windows 95是为32位应用程序设计的,但是在当时,许多人都还在使用16位的程序。为了便于使用这些传统程序,微软开发了用于Windows 95的16位互斥体。架构执行的方式将16位代码和32位代码隔离开来,其中甚至还存在一个用于16位程序的单独多任务处理引擎。当论及多任务处理时,所有的16位引擎被集体视为一个单独的32位程序。
今天,我们在新的Windows中遇到了类似的情况。64位Windows XP和Vista可以运行某些32位代码,但是这些代码必须与64位代码隔离开。这些与Windows XP模式有什么关系呢?Windows XP模式是***代功能,因此它只会运行用户运行基于XP的虚拟机。但是它会大大简化Windows 操作系统的操作。
可以想象,如果微软试图完全实现对XP的向后兼容性但不使用虚拟技术的话,Windows 7将会变得很容易出错。笔者认为Windows 7可能会比Vista要慢一点,缺乏可靠性一点。通过微软提供的方式执行Windows XP模式,微软可以不建立特殊的向后兼容机制来设计Windows 7。
客观点说,Windows 7中不会有特别出彩的地方。我们都知道,Windows 7是建立在Vista内核之上的。尽管如此,笔者认为Windows 7是微软迈出的很大一步。Windows 8将会是更简单,更有效的操作系统,而且微软将提供以虚拟技术为基础的向后兼容性插件。
换句话说,我们期望Windows 8只运行64位代码,而绝不提供32位代码的本地支持。那些需要运行32位代码的人或许要下载插件来实现对32位的支持,而其他人则不需要对此有什么担心。至于操作系统兼容性方面也是同样的道理。如果有人要运行针对XP设计的应用程序,那么他们或许要先下载一个Windows XP插件才可以。
当然,很大程度上说这只是笔者主观的意愿,然而,微软已经为这种愿望打下了基础,而我们所描述的这些可能性似乎也合乎逻辑。微软提供了名为Application Virtualization的产品,该产品以前被成为SoftGrid。它旨在让不兼容的程序并排运行。虽然这一产品是企业产品,但是却没有什么因素阻止微软将类似的功能应用到操作系统上。微软可能会提供虚拟化模块在操作系统中运行应用程序,而不是为单独的应用程序使用自包含的虚拟机。
【编辑推荐】