苹果|都在说华为鸿蒙缺乏生态!为何苹果M1 Mac就不缺乏生态了?

苹果|都在说华为鸿蒙缺乏生态!为何苹果M1 Mac就不缺乏生态了?

文章图片

苹果|都在说华为鸿蒙缺乏生态!为何苹果M1 Mac就不缺乏生态了?

文章图片



也许很多人都没意识到一点 , 在苹果采用ARM 架构M1处理器Mac中 , 无论是Windows软件还是macOS , 全都能安装运行 , 并且畅通无阻 。 原因很简单 , 因为有了Rosetta 2 。 Rosetta 2的编译效率之高相当夸张 。 即使运行x86应用 , 其性能依旧比搭载Intel处理器的MacBook要快 , 正所谓“模拟你还比你快”让Intel汗颜 。



Rosetta 2 可以将 x86 指令翻译成 ARM 指令 , 支持即时转译JIT和提前转译AOT两种模式 。 JIT 在程序运行的时候动态翻译x86_64 二进制文件 , 而AOT则在x86_64 二进制文件会在系统认定对该代码响应能力最有益的时间从储存空间中被读取出来 。 转译后的数据会作为特殊类型Mach 对象文件写入储存空间 。 这也是使用者在使用Windows软件根本感觉不到是x86_64 二进制文件 , 还是ARM文件的原因 。


【苹果|都在说华为鸿蒙缺乏生态!为何苹果M1 Mac就不缺乏生态了?】
但是 , 由于x86 与 ARM 的内存一致性模型不一样 , 会导致多线程软件运行结果出现差异 , 这也是 ARM 模拟 x86 这是最大难点 。 而苹果的解决办法非常彻底 , 它直接在芯片里使用硬件设置 Intel 版本的内存模型 , 这样样你运行 Rosetta 2时 , 系统会直接通过后门切换到 Intel 内存模型 , 在运行原生 ARM 程序时 , 则使用传统的ARM 内存模型 。 这点造成了 Rosetta 2 转译是性能非常优秀 。



于是 , 由于 M1 芯片和 iPhone 、 iPad 的 A 系列芯片均为ARM 架构 , 所以 , 很多iOS 和 iPadOS 应用可直接在 M1 芯片的设备上使用 , 而在最新版macOS 上 , iPhone 和 iPad 平台的应用还可以通过新的窗口选项在横向和纵向方向之间切换 , 或全屏显示 。 而苹果的App Store 背后则是全球最大最稳固的应用生态库 。



所以 , 苹果巧妙的完成了ARM 架构处理器在Mac上运行Windows x86软件 , 又导入App Store的运用 , 加上自己的Mac 平台应用 , 完成了整个生态圈的架构 , 下一步就是安卓了 , 虽然谷歌表示将不对Mac提供支撑 , 但这世界又有谁说的准了?而鸿蒙OS系统还没有覆盖到PC及笔记本电脑端 , 华为欧拉 OS 操作系统并不针对家用市场 。 所以 , 全生态链的建立 , 这将是段相当艰难的路程 , 加油吧 。

    相关经验推荐