當(dāng)前位置 主頁 > 技術(shù)大全 >
然而,Linux之父Linus Torvalds曾對ARM架構(gòu)表達(dá)出強(qiáng)烈的不滿和批評
這不僅是因為ARM架構(gòu)的代碼質(zhì)量和技術(shù)實現(xiàn),更涉及到兩者在理念上的深刻分歧
本文將深入探討Linus對ARM的批評,并分析其背后的原因和影響
一、Linus的憤怒:ARM代碼質(zhì)量堪憂 早在Linux內(nèi)核2.6時代,Linus Torvalds就在郵件列表中憤怒地表達(dá)了對ARM架構(gòu)代碼的不滿
他直言不諱地稱:“this whole ARM thing is a fcking pain in the ass”(整個ARM的事情真是個他媽的麻煩)
這并非一時的情緒發(fā)泄,而是基于他對ARM代碼深入審查后的真實感受
Linus認(rèn)為,ARM架構(gòu)下的代碼存在諸多問題
首先,缺乏通用平臺,沒有統(tǒng)一的平臺模型
這意味著每個ARM設(shè)備都有其獨特的硬件和軟件配置,導(dǎo)致代碼難以復(fù)用和維護(hù)
其次,ARM代碼中存在大量的硬編碼表格,用于描述時鐘和中斷請求(IRQ)的細(xì)節(jié)
這些表格不僅使代碼變得冗長且難以閱讀,還增加了系統(tǒng)的不穩(wěn)定性和維護(hù)成本
最后,ARM下的許多代碼是重復(fù)且邏輯簡單的GPIO(通用輸入輸出)驅(qū)動程序,這些驅(qū)動程序缺乏統(tǒng)一的標(biāo)準(zhǔn)和接口,使得系統(tǒng)難以擴(kuò)展和優(yōu)化
二、理念沖突:ARM的靈活性與Linux的統(tǒng)一性 Linus對ARM的批評不僅限于代碼質(zhì)量,更涉及到兩者在理念上的深刻分歧
Linux一直強(qiáng)調(diào)統(tǒng)一性和兼容性,希望通過統(tǒng)一的接口和標(biāo)準(zhǔn)來簡化系統(tǒng)的開發(fā)和維護(hù)
然而,ARM架構(gòu)則更加注重靈活性和多樣性,以滿足不同設(shè)備和應(yīng)用場景的需求
這種理念上的沖突在Linux對ARM的支持中表現(xiàn)得尤為明顯
由于ARM設(shè)備的多樣性和復(fù)雜性,Linux社區(qū)在整合ARM代碼時遇到了巨大的困難
Linus曾公開威脅停止向Linux內(nèi)核主干添加與ARM相關(guān)的改進(jìn),因為他認(rèn)為這些代碼在長遠(yuǎn)看來就是一堆不可維護(hù)的垃圾
三、ARM社區(qū)的回應(yīng):Linaro組織的成立 面對Linus的批評和威脅,ARM社區(qū)并沒有選擇沉默或逃避
相反,他們積極采取行動,努力改進(jìn)和優(yōu)化ARM代碼
為了解決這個問題,ARM芯片制造商們成立了非盈利的Linaro組織
這個組織由Freescale、IBM、Samsung、ST-Ericsson、Texas Instruments和ARM等公司共同發(fā)起,旨在通過協(xié)作和共享資源來改進(jìn)Linux對ARM的支持
Linaro組織的成立標(biāo)志著ARM社區(qū)對Linus批評的正式回應(yīng)
他們計劃成立一個針對Linux內(nèi)核的ARM小組,與已經(jīng)存在的X86小組相似
這個小組將致力于清理和整合ARM代碼,提高代碼的質(zhì)量和可維護(hù)性
同時,Linaro還計劃通過發(fā)布定期的Linux發(fā)行版來推動ARM代碼的穩(wěn)定性和兼容性
四、ARM的優(yōu)勢與挑戰(zhàn):靈活性與多樣性的雙刃劍 盡管Linus對ARM代碼的質(zhì)量表示不滿,但不可否認(rèn)的是,ARM架構(gòu)在嵌入式領(lǐng)域具有廣泛的應(yīng)用和巨大的優(yōu)勢
ARM的靈活性和多樣性使其能夠滿足不同設(shè)備和應(yīng)用場景的需求,這是ARM能夠迅速崛起并占據(jù)市場領(lǐng)先地位的重要原因
然而,這種靈活性和多樣性也帶來了巨大的挑戰(zhàn)
由于每個ARM設(shè)備都有其獨特的硬件和軟件配置,系統(tǒng)開發(fā)和維護(hù)變得異常復(fù)雜和困難
這不僅增加了開發(fā)成本和時間,還降低了系統(tǒng)的穩(wěn)定性和安全性
因此,如何在保持ARM靈活性和多樣性的同時,提高系統(tǒng)的穩(wěn)定性和可維護(hù)性,成為ARM社區(qū)面臨的重要課題
五、Linux與ARM的未來:融合與共贏 盡管Linus對ARM的批評言辭激烈,但不可否認(rèn)的是,Linux與ARM的結(jié)合仍然具有巨大的潛力和前景
隨著物聯(lián)網(wǎng)、云計算和人工智能等技術(shù)的不斷發(fā)展,ARM架構(gòu)在嵌入式領(lǐng)域的應(yīng)用將更加廣泛和深入
同時,Linux作為開源操作系統(tǒng)的代表,將繼續(xù)在推動技術(shù)創(chuàng)新和產(chǎn)業(yè)發(fā)展方面發(fā)揮重要作用
因此,Linux與ARM的融合與共贏