欢迎光临散文网 会员登陆 & 注册

那么我也讲一讲我为什么不看好Apple Silicon

2020-11-19 23:10 作者:useStrict  | 我要投稿


首先本文默认读者了解以下常识:

  1. Apple M1的实际性能是完全有可能大幅度超出一般人的预期的。

  2. 在更低的功率下实现更高的性能是可能的。

  3. x86的二进制无法运行在arm平台上,arm的二进制同样也不能运行在x86平台上。利用动态翻译或者静态翻译为主,动态翻译为辅的虚拟化技术可以二进制跨平台运行,这个过程中会引入不小的overhead:但这一overhead不是硬件和平台造成的。

好的下面正文开始。

在已知Apple Silicon性能并不差的情况下,我为什么依然不看好这一平台呢,最主要的原因依然是arm。


第一点,我们首先考虑一下,为什么x86平台的用户普遍可以随意更换操作系统。这是因为x86平台本身有一套完备的体系,这套体系能够在操作系统启动之前,由硬件,平台和固件为操作系统提供一致的环境。这套体系主要包括UEFI,ACPI,以及PCIE。这套体系并不完美,但足以使得操作系统早期阶段的引导代码能够不加修改得在各个平台上运行。

Windows的bootmgfw.efi,以及grub,systemd-boot,refind等常用的bootloader,都是已经编译好的二进制,这些二进制能够在绝大多数x86-64平台成功引导各种操作系统,完全得益于x86的环境把平台差异抽象掉了

而ARM呢,ARM可以有UEFI,可以有PCIE和ACPI,但是,ARM却没有提供一个机制去允许硬件平台无关得提供这些功能。要知道,x86的PCIE根复合体(北桥)是直接集成在CPU中的,而ARM并没有在SoC中集成任何平台无关的总线

这就导致了一个很严重的问题:ARM平台所有的底层程序,都是,至少都曾经是,平台特定的:一个很典型的例子是Android:Android及其各类衍生版本的所有二进制分发都是平台特定的,这是因为在(目前的)大多数arm平台上,Linux内核的运行必须依赖bsp(板级支持包)

在ARM被广泛应用于嵌入式平台的时代,这并不是问题,因为嵌入式系统的软件是随硬件一同分发的,但在更需要通用性的桌面平台,这是一个非常严重的问题。

ARM社区也正在努力解决这一问题,但这一努力远未结束


那么第二点:假如说我们不能在Apple Silicon的机器上使用其他操作系统呢?

可能很多MacOS的资深用户并不会认为这是一个问题。但我必须要指出的是,在Mac硬件上同样有众多的Linux和Windows用户。至少我本人作为Linux用户,是无法忍受MacOS的种种不便的。

不过既然某个著名网络喷子(内谁)表态看好这一平台,实际上我个人对linux在Apple Silicon上的前景并不是太担心。

但是更重要的是用户的选择权。如果用户被强制绑定在MacOS上,那么这和某些不允许解锁bootloader的Android手机厂商又有什么区别呢

以及现实得说,Windows是比MacOS要常用得多的操作系统,但是Apple Silicon上是很可能不会再有windows的。这是相当大的损失。


然后是第三点:假如说为Apple M1准备的操作系统无法运行在其他的Apple Silicon上呢?

我上文中提到,Android的二进制分发是平台特定的,这给Android用户造成了相当多的不便。如果今后Apple Silicon上的操作系统也必须是平台特定的,这对开发者和用户都是很大的负担。因为操作系统的开发者可能必须同时为多个平台提供平台特定的支持,而旧平台的用户将可能无法使用最新的操作系统

对于Android来说这是现在进行时,对于Google的Chrome OS来说也可以说是现在进行时,但桌面平台暂时还没有惨遭毒手,甚至相反,最新的Linux内核是依然可以运行在非常陈旧的(x86)平台上的。


而甚至,这些在用户看来的弊端反而是符合商业逻辑的。

将用户锁死在自己的操作系统上,就能让用户更多的为自己的软件和渠道付费。

微软也曾经幻想通过Secure Boot来阻挠用户更换操作系统。

人为得通过软件缩短硬件的生命周期,就能让用户更多得为自己的硬件付费。


但作为用户,我不想看到这样的未来。


To the extent possible under law, useStrict has waived all copyright and related or neighboring rights to this work. https://creativecommons.org/publicdomain/zero/1.0/deed.zh


那么我也讲一讲我为什么不看好Apple Silicon的评论 (共 条)

分享到微博请遵守国家法律