一文解读苹果 M1 芯片电脑上的开源软件
共 2100字,需浏览 5分钟
·
2020-11-23 23:41
点击上方蓝色“程序猿DD”,选择“设为星标”
回复“资源”获取独家整理的学习资料!
前言
上周五,我们分享了关于苹果最新的 M1 芯片不支持 Docker 容器的相关内容。如果还没读过,可以点这里:“最新的苹果M1芯片电脑别急着买,Docker容器还未能支持!”
Docker 官方也对此情况给出了回应,会努力适配。其实,除了 Docker,还有许多软件目前还无法在苹果最新的 M1 芯片上正常的运行。不少网友也只能在网络上宣泄自己的不满:
那为什么 M1 芯片会有这样的情况出现呢?
首先我们要知道在苹果自主研发设计的 M1 芯片之前,市面上大多数PC架构都是Intel的X86架构,也是因为INTEL的这个X86架构造就了INTEL行业霸主的地位。
在个人电脑开始流行的这30年间,X86系统由微软及Intel构建的Wintel联盟,垄断了个人电脑操作系统这一领域,在全世界范围内形成巨大的用户群,每个人的使用习惯几乎都被固化。
同样的,x86系统的普及,使得其在硬件和软件开发方面已经形成了世界范围内统一的标准,几乎所有基于x86的硬件平台,都可以无缝连接、直接使用微软的视窗系统及现在市面上主流的工具软件。
而苹果 M1 芯片是一款基于ARM架构的产品,在 M1 芯片面世之前,市面上虽然存在一些搭载ARM架构的PC产品,但是相应的市场占有率完全无法和X86相比。搭载ARM架构的PC产品主要的缺点就是在兼容性上表现太差,这个正是X86系统的优势所在,导致很多日常常用的软件根本无法安装运行,极度影响用户体验。
现状
苹果自然考虑到这样的情况,在WWDC20开发者大会上已经公布了Rosetta 2,可自动转译现有Mac App,最终允许ARM架构的 M1 芯片运行x86_64架构指令的APP,看似可以使搭载 M1 芯片的Mac产品与intel版Mac应用完美兼容,但实际这种方式并不能保证性能和速度。Samuel Attard,Electron 项目的维护者之一 ,就曾指出 “尽管 x86_64 Electron 应用程序可在 Rosetta 2 下运行,但其性能将大大降低。” 他给出的终极解决方案就是构建 ARM64 的二进制版本。
除此之外,苹果早在7月份就被相关工程师爆料,阐述其正着手对30个常用软件构建 Apple Silicon Mac 支持,其中包括 Node,Python 3,Go,V8 等耳熟能详的名字。而作为现在主流的浏览器,谷歌Chrome浏览器也在周二发布了带有Apple Silicon 支持的 Chrome 87。
优势
ARM架构,虽然在兼容性上尚有很大提升的空间,但是其一直以来相比X86架构的优势在于功耗。尤其是近年来移动端业务的发展诉求,其在低功耗、低成本的优势逐渐显现。根据网络消息,苹果 M1 芯片的单位生产成本在40-50美元之间,而购买INTEL酷睿i5处理器的成本在175-250美元,同比增加5倍左右。如果继续采用INTEL处理器,苹果未来几年在MacBook Pro和MacBook Air的花费将达到32亿美元之多。但如果采用相同数量的M1 芯片,花费只有6.97亿美元,精明的库克肯定不会看着这个数字无动于衷。另外一个深层原因,苹果从此可以逐步脱离intel的限制,不用在看其脸色办事,或许这个才是苹果迫不及待推出M1 芯片的真实原因之一。
未来
正如本文开头所说,M1 芯片的路还很长,很多软件还未完成对他的支持。
例如:
甲骨文一直还没有决定,是否要将其开源的x86虚拟机 VirtualBox 移植过来。
MAC必备神器之一Homebrew还没有过渡到 Apple Silicon。Gradle,Maven 和 Jenkins 等大约十多种OpenJDK的软件包同样不支持 Apple Silicon。
而在某些领域被广泛使用的 Fortran 90 编译器,也还没有支持 Apple Silicon,导致依赖着该编译器的R 语言暂时还不能在Apple Silicon 上本地运行。
前文提到的Go,其开发团队在11周年庆中透露,要等到明年发布的1.16版本中,才会加入Apple Silicon 的支持
你觉得苹果 M1 芯片电脑的前景如何?你是否会去购买相关产品?欢迎留言进行讨论!
【往期推荐】
2020-11-22
2020-11-21
2020-11-21
2020-11-20
2020-11-19
扫一扫,关注我
一起学习,一起进步
每周赠书,福利不断
﹀
﹀
﹀
深度内容
推荐加入