ARM 上的 macOS Big Sur 是跑在虚拟机上吗,还是基于 iPadOS 的扩展版?
如果是基于 iPadOS,那 x86 上的软件都需要移植才能用?(感觉可能性比较低)
苹果是怎么让两个软件生态统一到一起的?
https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment
“一个给 x86 机器装,一个给 arm 机器装”,你说的好轻松啊… 跨平台的操作系统怎么着都得用到虚拟化技术什么的吧
苹果发布会说了,新的 universal App 会编译成一个包,其中包含两种架构的一个应用,所以两种架构都可以使用。
打个比方说吧,这就是把同一份文件翻译成不同国家的语言,不同指令集的处理器用的机器语言不同。
各位别激动,我只是好奇而已,正因为了解 ARM 的精简指令集与 x86 复杂指令集的差异我才会问这个问题。
我说的“换皮”,是指认为旧版 macOS 指针对 x86 指令集开发,所以升级后的测试版只能换皮,并不知道苹果是否已经做过指令集的兼容。
我之前不知道苹果做过两种指令集的兼容工程,刚刚才了解到 XNU 内核,确实孤陋寡闻了。不过上回复我的人过于理所当然了,本来是希望找到一些更“硬核”的答案,结果还是我自己找到的。
app 都可以做成 Universal,系统当然没问题啊
所以你猜测的基本上都是错的
1 不是虚拟机 是和 iOS/iPadOS 一样原生在 ARM 上跑的
2 不是基于 iPadOS 就是基于 macOS 反正内核都可以支持 x64 和 ARM
3 生态统一 并不完全:
a 要求新出得 app 尤其是 app store 的 mac app 都是 Universal App 也就是 build 两个版本 这个苹果之前做过
b 对于老的 x64 app 用 rosetta 2 转译 这个苹果之前也做过
c 对于 iOS/iPadOS App 可以直接运行 这个就像在 Linux/ChromeOS 上面运行 Android App 类似 不过不需要虚拟机 可以原生运行
话说……主在 7 层和 13 层嘲讽,被人怼回来了就说 “这论坛真是一引就爆说”,哈哈哈