windows系统macOS换用ARM来势汹汹!Win10 ARM失败在哪里


1X86转移ARM:到底会有什么坑?
[PConline 杂谈]苹果在今年的WWDC上宣布 , macOS 11将会迁移到ARM平台 , 引起了轰动 。 苹果称 , 将会在Mac电脑上用自研ARM平台取代Intel的X86平台 , 并且迁移包括操作系统和软件在内的生态 , 这意味着ARM在个人PC领域迈出了挑战X86的一步 。
windows系统macOS换用ARM来势汹汹!Win10 ARM失败在哪里
本文插图
macOS 11将兼容ARM芯片
人们对苹果的这个举措是寄予厚望的 。 macOS并不是首次“换马” , 在二十一世纪的第一个十年 , Mac就从IBM PowerPC平台迁移到了Intel X86平台 , 并取得了成功 , 这也是人们对Mac此次换用ARM后 , 仍能提供良好体验抱有如此信心的一大原因 。
苹果宣布这一消息的同时 , 不少人同时也联想到了微软——微软已经在ARM领域摸索多年 , 推出过Windows RT这样的特制系统 , 最近更是让Windows 10运行在了ARM上 , 并且兼容之前的大量软件 。 然而 , Win10 ARM战略似乎未能取得太大反响 , Windows RT甚至直接暴死 。
windows系统macOS换用ARM来势汹汹!Win10 ARM失败在哪里
本文插图
微软早已经涉足ARM领域 , 推出了基于ARM的Windows平板
Mac迁移平台来势汹汹 , 人们普遍的预期是顺风顺水 , 而Win10却屡屡碰壁 。 Win10在ARM的道路上 , 到底行差踏错了些什么?今天一起来谈谈这个问题吧 。
X86转移ARM:到底会有什么坑?
众所周知 , ARM和X86平台最大的区别是微架构的不同 。 ARM属于RISC简单指令集 , 而X86则是CISC复杂指令集 , 程序要这两个不同的平台运行 , 需要编译不同的版本 。 当然 , 借助中间层 , 也可以实现两个不同平台之间的兼容 。
然而 , 无论是那种方案 , 将之前兼容X86的操作系统要将生态迁移到ARM , 都需要付出代价 。
如果放弃X86平台上老软件的兼容 , 只让新软件兼容ARM平台 , 那么就意味着生态系统需要从头做起 , 新系统起步会变得非常艰难 。 在过渡期间 , 新开发的软件需要同时兼容X86和ARM平台 , 意味着要么开发者投入更多的精力自行编译不同的版本 , 要么操作系统的开发套件提供同时编译的功能 。 无论如何 , 都需要投入更多的工作 。
而如果想要生态无缝衔接、让新的ARM平台起步更顺利 , 最好可以让X86平台的老软件直接可以运行在新的ARM平台上 , 那么就需要对中间层做工作了 。 例如Android就是一个很好的例子 , 通过HAL来模糊硬件接口 , 利用善于跨平台的JAVA作为应用上层 , 无论是运行在X86的Android还是ARM的Android , 都可以同时兼容绝大部分的App 。
但这个方法的缺点在于 , 中间层可能会成为效率的瓶颈 。 Android的中间层就很厚 , 效率感人诟病已久 。
【windows系统macOS换用ARM来势汹汹!Win10 ARM失败在哪里】
windows系统macOS换用ARM来势汹汹!Win10 ARM失败在哪里
本文插图
X86指令转制为ARM实现兼容 , 性能下滑不可避免
另外 , 由于ARM多用于移动平台 , 因此如果桌面操作系统想要迁移到ARM , 往往也会打起通过移动平台已有生态造血的注意 , 也就是让迁移到ARM的桌面操作系统 , 兼容移动平台的App 。 当然 , 这里面也有大坑 , 例如UI的适配就是个麻烦——手机平板的屏幕和桌面PC显示器不同 , 要有体验好的视觉效果 , UI需要灵活变形 , 这对UI元素的自动排列提出了极高要求 , 是也是个需要投入大量精力研究的课题 。
2苹果迁移ARM到底做了什么?
苹果迁移ARM到底做了什么?
上面提到了X86迁移ARM可能会碰到的问题 , 大家却对苹果的迁移之举抱有信心 。 要理解这一点 , 我们首先来看看苹果为ARM平台的迁移工作都准备了什么吧 。