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