5月1日外電頭條:Linux之父稱硬件革新對內(nèi)核影響不大
原創(chuàng)【51CTO.com快譯】1991年Linus Torvalds將他的***版Linux公之于眾。在隨后的18年里他不僅親眼見證了Linux給IT文化和經(jīng)濟帶來的積極沖擊,更有機會直接參與決策,讓這些變化成為現(xiàn)實。雖然自1991年以來很多事情都發(fā)生了巨大的變化,但有一件事始終沒有變,那就是在Linux的大潮中,Linus仍然充當(dāng)著掌舵人。
在這次Linux Magazine的專訪中,Linus回顧了他所做的工作,探討了新硬件帶來的影響,主題還是圍繞著Linux——這個如今從手機到桌面電腦再到超級計算機中無處不在的操作系統(tǒng)。
記者:你一直從事Linux的開發(fā)已經(jīng)快18年了,那么長的時間令人難以想象,尤其是在軟件行業(yè)里。我們也知道有許多Linux核心貢獻者一直堅持著,即使是已經(jīng)轉(zhuǎn)了行或者換了工作。那么對于Linux來說,相同的開發(fā)者能夠堅持下來是不是好事?你打算一直堅持下去嗎?
Linus Torvalds:如果只是同一批人在堅持,那我不認為這是好事,如果Linux陷入那種“長期核心人物”的開發(fā)方式,那我會非常擔(dān)心。但對Linux來說,好在它有一條長長的尾巴,它的開發(fā)者實在是太多了,這很重要,很多人可能只為內(nèi)核的發(fā)展貢獻一點力量,比如只發(fā)送一個小補丁等等,但這就是Linux成長的源泉。大多數(shù)開發(fā)者無法做更多的事情,但其中的一些人會成為主要開發(fā)者,我們需要這一點。
與此同時,我想大家都更高興看到Linux核心團隊的穩(wěn)定。實際上還是有很多資深的開發(fā)者,比如Ted Ts'o,他很早就參與進來了,目前仍在參與,并仍然貢獻代碼。[51CTO.com編者注:Ted Ts'o是北美***位內(nèi)核研發(fā)者,并在2007年以全職平臺戰(zhàn)略首領(lǐng)的身份加入Linux Foundation。]
因此,這并不是一個要么這樣要么那樣的問題,兩方面我們想都要。關(guān)于我自己,答案是肯定的,我會堅持下去,只要我認為我還可以做得很好,除非有比我更好的人了。
記者:在Linux之前,沒有人相信超級計算機和手機能夠在相同的內(nèi)核上運行。你認為將來的Linux能不能保持代碼不變,人們想把它用在手機和其他小型設(shè)備以及大型服務(wù)器上時,僅僅改動一下配置就行?
Linus Torvalds:個人而言,我不想說“在Linux之前”,因為這也是一步一步做到的,在“Linux之后”的很長時間里我一直告訴SGI要接受經(jīng)常打補丁這樣的事實,他們也并沒有像我那樣過于關(guān)心內(nèi)核的大小。
所以,我基本上答應(yīng)他們,我會盡量合并底層補丁,使他們的***外部補丁維護起來變的簡單。但是當(dāng)時我真的不期望基礎(chǔ)內(nèi)核能支持4000個CPU的配置,因為我僅僅是認為這過于冒進了,怕造成太多的問題。
當(dāng)時我認為我可能是正確的。但是隨著時間的推移,我們合并了越來越多的支持,并做了有效的精簡,使代碼能夠在支持數(shù)以千計的CPU時表現(xiàn)良好,而在只有少量CPU核心的情況下,也能簡單有效的編譯起來。
所以,現(xiàn)在我當(dāng)然是很高興,我們不需要外部補丁就能夠覆蓋從小型嵌入式設(shè)備到幾千個節(jié)點的超級計算機的整個范圍,我對內(nèi)核的處理能力感到非常自豪。
現(xiàn)在,我已經(jīng)看到了這樣可以做得很好,我也不愿意再考慮其他方式了。所以,是的,我相信我們能夠為不同的目標繼續(xù)保持同一個源代碼,從手機到超級計算機。
當(dāng)然,有一個有趣的問題就是所謂的低端現(xiàn)在已經(jīng)長大了。10年前SMP(對稱多處理器系統(tǒng),參見51CTO.com此前文章《Linux集群的虛擬化技術(shù)面臨的挑戰(zhàn)》)在桌面上都是罕見的,但現(xiàn)在即使在非常微小的嵌入式環(huán)境中都應(yīng)用了SMP。因此,我們必須把“小”的范圍擴大一點?,F(xiàn)在有些手機擁有的計算能力比起原先我開發(fā)Linux的電腦都要強大的多。
記者:你在博客上為你的Intel SSD寫過一篇非??隙ǖ奈恼拢Q贊它“絕對夠勁”。另一方面,其他一些市場上的SSD并沒有得到Linux用戶的好評。Linux能夠充分發(fā)揮SSD的寫入性能和高壽命嗎?
Linus Torvalds:這在很大程度上取決于你的使用情況。例如,即使是不好的SSD也可以***充當(dāng)?shù)诙K驅(qū)動器,因為99.9%的情況下你只用到它的讀盤能力,所有的SSD硬盤讀盤能力都很好,延遲速度快,隨機讀取性能也非常好。[51CTO.com編者按:SSD即固態(tài)硬盤,相關(guān)知識請參閱51CTO.com“哪種操作系統(tǒng)最適合SSD硬盤
Intel SSD不是***的。如果你做的是大文件的工作,讀寫大量的連續(xù)數(shù)據(jù),那么還不如用普通磁盤,價格非常便宜,容量也大得多,而且速度一點也不慢。但對我來說,硬盤是系統(tǒng)最薄弱的部分。硬盤的緩存是一個巨大的問題,在95%以上的情況下隱藏了硬盤的性能。
只是舉個例子,我經(jīng)常用“git grep 某些東西”在我的內(nèi)核樹里查找哪些功能正在使用,或是類似的東西。這要花掉我0.5秒,所以它可以算是實時的。但是如果我剛剛重新啟動,或者剛剛做了其他事情讓我的內(nèi)核樹不在緩存里呢(的確,這很罕見,但它確實發(fā)生)。那么如果我第二次進行“git grep”的話,如果是SCSI硬盤,可就不是0.5秒了,而是一分鐘或兩分鐘。
Intel的SSD情況就好多了,對緩存中的“git grep”仍然是0.5秒,但第二種情況下我只需要10秒,以前還更快些,但最近增加了很多垃圾。另外沒有達到這個成績的不要責(zé)怪Intel,這是我自己的個別例子。因此,現(xiàn)在即使是緩慢的情況下也已經(jīng)不再是兩個數(shù)量級了。但是有些SSD達不到這個成績,依然是兩個數(shù)量級。
順便說一句,這在CPU也非常明顯。我***的不滿就是Intel的P4架構(gòu)也有類似的表現(xiàn),大多數(shù)情況下它的表現(xiàn)絕對偉大,然后有一些偶然情況下,由于L1緩存太小,它的表現(xiàn)很可怕,而這我碰巧十分關(guān)心。
#p#
記者:在系統(tǒng)級別,“有些地方非常好,有些地方非常糟”聽起來像很多基于Linux的產(chǎn)品的通病了。從工作站到集群的節(jié)點,再到NAS設(shè)備或PVR。你是不是想建立一個良好的在桌面上工作的通用內(nèi)核,讓人們按照自己的需要進行配置?
Linus Torvalds:是的。對我來說,Linux一直是最有趣的目標。主要的原因很簡單,不僅因為這一直是我想做的,而且還因為所有的有趣問題總是在桌面使用中出現(xiàn)。
其他所有的用途往往非常有限。你有一件事或幾件事需要做,你只可以優(yōu)化和簡化這些問題的具體方面。在桌面上則相反,有各種各樣的用途。種類繁多的硬件,種類繁多的軟件,還有成千上萬種用戶的瘋狂做法。
因此,瞄準桌面總是強迫你去解決更本質(zhì)的問題,比起其他任何目標來說。當(dāng)然,Linux不僅是一種桌面操作系統(tǒng)。不僅僅是臺式機,你還必須關(guān)注其他領(lǐng)域,其他架構(gòu),數(shù)以千計的核心的可擴展性。但一般臺式機的問題確實占到90%,其他架構(gòu)的可擴展性等算是錦上添花的問題。
記者:談到不同的平臺,你現(xiàn)在用什么電腦?有沒有非x86的主機,或者專用的服務(wù)器、媒體播放器、或其他特殊用途的機器?
Linus Torvalds:實際上我不喜歡使用大量的電腦。我不喜歡家里有“電腦室”,我的目標是只有一個主要的工作站,在上面完成一切事情。我工作的x86已經(jīng)用了好幾年了。
我還有一些其他的機器(主要是筆記本電腦),有幾臺家庭用的機器(一臺Tove用,一臺孩子們用),它們也都是基于x86的。我將非常有興趣看看今年或明年我是不是會增加一臺ARM機,但它必須是一個很好的netbook的平臺,我還沒有決定。
當(dāng)然,我有一些Tivo產(chǎn)品,而且它們是用Linux的。但我真的不把它們看成Linux,我不會去修改它們。還有就是PS/3,玩游戲更有趣些,但我不把它當(dāng)作計算機。
現(xiàn)在我手里最有趣的機器是還沒發(fā)布的,我不能公開談?wù)?。例如,我曾有一臺Nehalem機器,但當(dāng)時我不能說,現(xiàn)在也是這種情況。
記者:你認為硬件設(shè)計者們會不會做出某種革命性的設(shè)計,比如內(nèi)存結(jié)構(gòu)已經(jīng)變得越來越復(fù)雜,從而對Linux的架構(gòu)產(chǎn)生重大影響?
Linus Torvalds:我不認為這很可能,原因很簡單,Linux支持許多不同的平臺,而且非常善于抽象,99%的內(nèi)核代碼并不需要對硬件的設(shè)計復(fù)雜度考慮太多。讓我們拭目以待。也許今后的硬件會讓我感到吃驚,真正帶來巨大的架構(gòu)變化,但現(xiàn)在我還是懷疑。
記者:Linux修復(fù)安全性bug的辦法似乎一直只是解決主內(nèi)核中的問題,我們也知道分銷商們?yōu)榱颂岣甙踩砸苍趯?nèi)核做自己的修改,如果上游內(nèi)核加入你所謂的“安全馬戲團”(security circus)和他們相比較,用戶是不是能或多或少得到更安全的內(nèi)核呢?
Linus Torvalds:嘿,別誤解我。我認為應(yīng)該把該說的說出來,對大家都有好處。而且似乎他們做得不錯,在內(nèi)核安全性方面確實做得很好了。我的意思是,如果你真的希望更多的安全性,應(yīng)該簡單地嘗試多層的做法。我認為,各種虛擬機環(huán)境無論是Java還是Dalvik還是JavaScript等等,其中一個***的優(yōu)點就是安全層,它們本身可能安全也可能不安全,但它們可以間接的添加安全層,這樣安全性就能得到大幅度的提高。
所以,我認為Linux在內(nèi)核的安全性方面做的已經(jīng)不錯了,我個人的觀點是,“安全劇場”(security theater)很明顯唱的也是好戲,確實有效。但是,我始終認為,不論你自以為平臺有多安全,你總是應(yīng)該用多層的方法來提高安全性。在任何層次上相信“絕對安全”的人都是無知和愚蠢的。
【51CTO.com譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】
原文:Linus on Linux: The Linus Torvalds Interview 作者:Don Marti