為何 Linux 之父 Linus Torvalds 在 ARM 會議上說他喜歡 x86
Linus Torvalds 於 1999 年 8 月 10 日在加州聖何塞舉行的 LinuxWorld 節目中給擠滿禮堂的 Linux 發燒友們作演講。
——出自:James Niccolai
Linux 領袖 Linus Torvalds 是一個直率的人——他總是心口如一。比方說最近在 Linux 內核 4.8 的事故中,他沒有文過飾非,而是承認了自己的過失。
不過他在上周的 Linaro Connect 會議上倒是讓人瞠目結舌。當他被問到最喜歡的晶元架構的時候,他不假思索地說 x86,而不是 ARM。
或許是 x86 電腦悠久的歷史讓他得出這個答案。x86 沒有多少碎片化的軟體和硬體,它幾乎僅僅是用來工作的。
Torvalds 說,人們總是痴迷於指令集和 CPU 核心,但事實是圍繞架構的生態系統更為重要。
「重要的是圍繞指令集的所有基礎設施,而 x86 擁有大量的不同級別的基礎設施」,Torvalds 說。「它在走一條與眾不同的路。」
許多應用都是在英特爾或者 AMD 的 x86 機器上開發的。兼容性對於 x86 晶元和電腦來說是重要的,x86 平台有統一的硬體、開發模式以及其它的基礎設施。
而 ARM 則迥然不同。從硬體供應商的角度來看,它引領著一個碎片化的市場,Torvalds 說。
「x86 的生態系統一向都秉承著兼容為先的理念,而 ARM 則不以為然,」Torvalds 在與 ARM 開發者進行的一場爐邊閑談時如是說。
ARM 主導了移動設備的市場,有大量的設備都是使用基於 Linux 內核的安卓操作系統的。但是 ARM 的生態系統太過於碎片化了,這導致了很多支持和設備的問題。
問題之一:由於硬體的配置不同,在所有移動設備上部署同一個版本的 Android 是不可能的。硬體製造商會調整 Android 系統以兼容他們設備的晶元組。不像 Windows 更新到 PC,一個 Android 更新無法推送到所有的移動設備。
英特爾嘗試過將 x86 晶元放在智能手機上,但是現在已經放棄了。英特爾的其中一個目標就是推送可以在所有 x86 手機上下載並安裝成功的安卓更新。
還有 ARM 伺服器軟體的開發問題。每個晶元組的架構、網路和 I/O 特性不同,必須編寫軟體才能利用這些特性。這大大減慢了伺服器中採用 ARM 的速度。x86 不存在適配的問題,它將繼續主導伺服器市場。
「我對於 ARM 作為一個硬體平台而不是一個指令集感到非常失望,雖然我也有我的問題,」Torvalds 說。「作為一個硬體平台,它始終不太好對付。」
Torvalds 小時候在一台裝配有 8 位的 6502 處理器的微機上編程,他很喜歡這種架構,因為它的指令是流式的,當時還沒有其它硬體可以與之媲美。這種架構為晶元提供了更高的性能。
「我那時想升級的是一台 Acorn Archimedes,呃,ARM 就是因該公司而命名的,「Torvalds說,「那曾經是我夢寐以求的機器。」
Archimedes 是第一台基於 Acorn 電腦公司的 ARM RISC 晶元的個人電腦。ARM 作為 Acorn 的一個分支而成立。(LCTT 譯註:ARM 的縮寫來自於 Acorn RISC Machine。——引自維基百科。)
Torvalds 喜歡 Archimedes,因為它搭載了像 6502 一樣的流式指令和 RAM 晶元以獲得高性能。不盡人意的是,他找不到那台電腦。
他嘗試過一台「古怪的英式電腦」,Sinclair QL,這是一台比 Acorn Archimedes 還要失敗的機器,Torvalds 說。
「那時的芬蘭不是宇宙的中心,」Torvalds 說。「在那之後我吸取教訓了——再也沒有去買沒有基礎設施(生態)的機器。」
作者:Agam Shah 譯者:OneNewLife 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive