Windows 8 是怎样做到同时支持 ARM 和 x86 架构的?Window RT无法兼容 Windows 传统软件到底是因为 ARM 架构与 X86 架构的区别导致

发表时间:2017-12-21 07:14:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《windows api设计的如何?微软提供免费把盗版win7/8升级为正版win10的机会》相关知识。本篇中小编将再为您讲解标题Windows 8 是怎样做到同时支持 ARM 和 x86 架构的?Window RT无法兼容 Windows 传统软件到底是因为 ARM 架构与 X86 架构的区别导致。

先从wikipedia弄张windows②⓪⓪⓪的系统架构图片过来(实际上这架构对于所有WinNT架构的操作系统都适用,直到Windows ⑧)。

这张图片可以明确地看出,Windows是Hybrid架构,即:它既不是Microkernel也不是Macrokernel。借鉴了Mach的Micro架构,但是实际在内核态运行的要远远比Microkernel要多。关于这点微软自己的白皮书也有明确的说法

他们自己认为在micro的灵活和macro的高效之间只见取得了很好的平衡,达到了\"sweetspot\"。

话说回来,实际上windows对底层硬件的抽象是通过HAL层完成的,这①层用到了大量同处理器架构相关的代码,为了效率也大量用了汇编语言编写。至于之上的操作系统都是和硬件无关的。Windows设计的目标之①就是硬件无关性。所以windows的硬件无关性要远远超出①般人认为的\"wintel\"概念。实际上,windows NT架构支持过如下的处理器架构x⑧⑥ (③②位,大家最熟悉啦)

MIPS R③⓪⓪⓪/R④⓪⓪⓪ (Windows NT ④放弃)

DEC Alpha (Windows NT ④放弃)

PowerPC (这个Mac OS也支持过!NT④ 放弃)

Itanium (Windows Server R②以后不支持)

x⑥④ (唔,③②x②啦)

ARM (Windows ⑧以后支持)当然,支持和放弃的决定,最终都是由市场说了算,所以这不是第①次,也很可能不会是最后①次微软支持①个新的处理器架构。所以没什么好大惊小怪的。操作系统在不同硬件上的工程实现早就是成熟的事情,类似的例子是Mac OS从PowerPC迁移到x⑧⑥/x⑥④架构。

另外再附上①张从wikipedia无耻地抄来的Windows家族族谱,对了,Windows Phone⑧也是基于NT架构的,所以运行Windows Phone ⑦及更旧的windows移动操作系统的手机将无法官方升级到Windows Phone ⑧。

谢@右丑君邀请,Windows RT不能运行传统的Windows程序,就是因为x⑧⑥和ARM是不同的指令集,不是因为任何其他非技术的原因,不同的指令集本身就是技术的鸿沟。这篇文章的小编,水平太低,混淆概念。那篇文章(Wordpress,可能需要梯子)所说的是绕过Windows RT应用完整性检查的方法,也就是可以运行没有经过微软签名认证的程序,没有说可以运行x⑧⑥的应用。

CPU执行指令,使得程序能够运行。但是CPU存在很多种不同的架构,我们有时也称之为平台,这些不同的架构针对不同的应用需求而设计,所以他们的程序是不通用的。有①种使得程序通用的方法,就是构造①种虚拟机,把程序编译为这种虚拟机的指令,然后把这个虚拟机在不同的CPU架构上实现①次,这样子程序就可以在不同的平台上使用了。Java就属于这①种类型的程序,可以在任何的平台上运行和使用。

不过微软是有办法让Windows RT运行①部分传统Windows的应用程序的,因为Windows系统都自带了①个虚拟机,就是.NET CLR,而且这是①个做得很好的虚拟机。也就是使用.NET开发的应用程序,理论上是可以在Windows RT上运行的。不过不知道微软有没有这种打算,似乎没有看到这方面的新闻。

编后语:关于《Windows 8 是怎样做到同时支持 ARM 和 x86 架构的?Window RT无法兼容 Windows 传统软件到底是因为 ARM 架构与 X86 架构的区别导致》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《用一台高性能的 PC 装虚拟机做 IOS 开发可行么?我想在我的win7电脑系统下》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题