您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

淺談關(guān)于Linux的前世、今生與未來(lái)

大小:0.07 MB 人氣: 2017-10-11 需要積分:1
? 引言:在本文中,開(kāi)源操作系統(tǒng)之父Linus Torvalds將暢談Linux的前世、今生與未來(lái)
  早在1991年還在芬蘭赫爾辛基大學(xué)就讀時(shí),Linus Torvalds便創(chuàng)建出了最初的Linux操作系統(tǒng)內(nèi)核。之后這個(gè)小小的內(nèi)核很快發(fā)展成了一個(gè)功能全面的操作系統(tǒng),可以運(yùn)行在智能手機(jī)與服務(wù)器上,還有各種各樣的小工具上。本文是一篇電子郵件訪談?dòng)涗?,文中Torvalds回顧了過(guò)去25年來(lái)Linux的影響,并展望了未來(lái)25年可能出現(xiàn)的變化。
  
  Stephen Cass(記者,以下簡(jiǎn)稱S):如今在程序開(kāi)發(fā)上,你已經(jīng)比25年前擁有了更多的經(jīng)驗(yàn),有什么想要告誡當(dāng)年的自己呢?
  Linus Torvalds(以下簡(jiǎn)稱L):實(shí)際上我是這樣認(rèn)為的:關(guān)于Linux的成功我并不敢居功,有很多事情我當(dāng)時(shí)并不了解,如果一開(kāi)始我就知道的話,也絕不敢動(dòng)手編寫(xiě)自己的操作系統(tǒng):需要一些天真無(wú)畏的勇氣,才敢以為自己能做得到。我深信這是動(dòng)手開(kāi)始一個(gè)項(xiàng)目,并最終獲得成功所需要的特質(zhì)。雖然對(duì)項(xiàng)目可能的發(fā)展范圍缺乏概念,但更因此才不會(huì)有先入為主的想法,而對(duì)項(xiàng)目的發(fā)展強(qiáng)加干涉。
  我相信,正是因?yàn)槲也磺宄磥?lái)能有怎樣的發(fā)展,也許才會(huì)對(duì)他人的建議和影響抱著更開(kāi)放的態(tài)度。如果我本來(lái)就對(duì)想要完成的目標(biāo)有著奇思妙想,說(shuō)不定就不會(huì)有這么開(kāi)放的態(tài)度了。在我看來(lái),這種坦誠(chéng)的態(tài)度讓別人更愿意、也更容易參與到這個(gè)項(xiàng)目中來(lái)。人們不會(huì)為了別人的愿景而買(mǎi)單,卻會(huì)為了他們自己的愿景而努力。在我看來(lái),正是這種想法激勵(lì)著很多人在Linux上作出貢獻(xiàn)。
  S: 在Linux的發(fā)展中,是否有某個(gè)早期的技術(shù)決策是你現(xiàn)在希望改變的?
  L:糟糕的技術(shù)決策什么的,都是你隨時(shí)可以抹消的東西。沒(méi)錯(cuò),盡管當(dāng)時(shí)很令人沮喪,也顯然完全是浪費(fèi)時(shí)間和精力,但往往到了最后,這些教訓(xùn)都不算真正地浪費(fèi)時(shí)間:采用錯(cuò)誤的決策總有些原因,而認(rèn)識(shí)到錯(cuò)誤則會(huì)讓你學(xué)到經(jīng)驗(yàn)。我并不是說(shuō)錯(cuò)誤其實(shí)是好事,正確的決策永遠(yuǎn)比錯(cuò)誤的要好——但我不會(huì)特別擔(dān)心選擇的問(wèn)題,我寧愿先做下決策,哪怕以后發(fā)現(xiàn)這個(gè)決策是錯(cuò)的,也比浪費(fèi)太多時(shí)間來(lái)討論可能的選擇要好。
  在2001年左右,眾所周知我們?cè)贚inux的虛擬內(nèi)存子系統(tǒng)支持方面遇到了非常糟糕的狀況。當(dāng)時(shí)狀況糟透了,大家對(duì)于該選擇哪個(gè)方向產(chǎn)生了劇烈的爭(zhēng)議,同時(shí)在某些內(nèi)存的配置上也存在很大的問(wèn)題。本該到“穩(wěn)定”階段了,系統(tǒng)中卻有大量的內(nèi)容消失,導(dǎo)致大家都很沮喪。
  現(xiàn)在再來(lái)回顧,問(wèn)題最終還是解決了,雖然那段時(shí)間就像地獄一樣,所有人都痛苦不堪。如果不用在開(kāi)發(fā)中期執(zhí)行這類的重大修改肯定會(huì)更好一些,但這件事也并未造就災(zāi)難性的后果。
  S: 隨著Linux迅速發(fā)展,從單打獨(dú)斗到成為群體中的一員,對(duì)你個(gè)人而言有什么變化?
  L:對(duì)我來(lái)講實(shí)際上有兩個(gè)明顯的改變:其中一個(gè)是在很早的時(shí)候(1992年)發(fā)生的——我開(kāi)始使用其他開(kāi)發(fā)者所提供的補(bǔ)丁,而不再總是自己重寫(xiě)了。第二個(gè)變化發(fā)生在后來(lái),當(dāng)“自行編寫(xiě)所有要使用的補(bǔ)丁”已經(jīng)成為了巨大的障礙,我必須學(xué)著信任所有那些幫忙維護(hù)的人員。
  第一點(diǎn)要容易得多:由于在編寫(xiě)Linux內(nèi)核時(shí),大約前半年我完全都是獨(dú)立開(kāi)發(fā)的,一開(kāi)始大家給我發(fā)送補(bǔ)丁的時(shí)候,我還不習(xí)慣直接使用。因此我會(huì)一一看過(guò),確定作者的意圖,然后自己再寫(xiě)一次。有時(shí)候跟他們寫(xiě)的差不多,有時(shí)候則完全不同。
  但很快我無(wú)法再繼續(xù)這樣做了。用了沒(méi)多久,在我開(kāi)始對(duì)某些人產(chǎn)生信任之后,會(huì)直接在Linux上應(yīng)用他們的補(bǔ)丁,而不再基于他們的理念而重新編寫(xiě)了,雖然最終往往還是會(huì)作些改動(dòng)。這些年來(lái),我已經(jīng)非常擅長(zhǎng)閱讀與編輯補(bǔ)丁了,連在睡夢(mèng)里都能做好。而這些年來(lái),這種模式也一直運(yùn)作良好。
  但正是由于“應(yīng)用別人的補(bǔ)丁”這種模式多年來(lái)一直運(yùn)作良好,已經(jīng)讓我非常習(xí)慣,想要改變就更加困難。大約在2000年左右,內(nèi)核的開(kāi)發(fā)獲得了巨大的成長(zhǎng)(那時(shí)Linux開(kāi)始顯現(xiàn)出商業(yè)方面的潛質(zhì))。人們開(kāi)始抱怨我的工作流程對(duì)整個(gè)開(kāi)發(fā)造成了障礙,并抱怨Linux缺乏可擴(kuò)展性,但我們?nèi)狈?yōu)秀的源碼管理工具來(lái)解決這些問(wèn)題。
  最終我們采用了BitKeeper作為源代碼維護(hù)工具。這個(gè)名字更讓人記憶深刻的是幾年后關(guān)于授權(quán)中止的喧鬧紛爭(zhēng),不過(guò)它的確很適合這項(xiàng)任務(wù),而且教會(huì)了我(以及內(nèi)核社區(qū)的至少一部分人)該如何控制管理源碼,以及當(dāng)我并非唯一的同步點(diǎn)時(shí),如何在更具分布特性的開(kāi)發(fā)模型中執(zhí)行協(xié)作。
  當(dāng)然,我學(xué)到的分布式源碼控制管理方法造就了2005年出現(xiàn)的Git。雖然Git顯然已成為源代碼控制方面的成功典范,但當(dāng)年正是BitKeeper讓大家了解到了分布式源碼控制的優(yōu)勢(shì)。在2000年左右,關(guān)于內(nèi)核的痛苦經(jīng)歷最終給我們好好地上了一課,不過(guò)當(dāng)時(shí)確實(shí)很痛苦。
  S: 還有什么其他項(xiàng)目就像分布式源碼控制一樣,讓你有沖動(dòng)想要掌握么?
  L:沒(méi)有,我確實(shí)不希望再有這樣的項(xiàng)目了。我所有的大項(xiàng)目都來(lái)自于這樣的經(jīng)歷:“可惡,沒(méi)人幫我做這個(gè)”。如果有人能幫我解決問(wèn)題,我會(huì)更高興無(wú)需再花力氣自己解決了。我寧愿坐在沙灘上的遮陽(yáng)傘下,啜飲著時(shí)興的飲料,而不是自己去解決問(wèn)題。
  好吧,我在撒謊,幾天后我感到非常無(wú)聊。我真高興自己還有Linux,因?yàn)樗_實(shí)很有趣,很能激發(fā)思考,不過(guò)與此同時(shí),創(chuàng)建一個(gè)新項(xiàng)目確實(shí)是非常令人沮喪的做法。
  S: 在你看來(lái),Linux為什么從未在主流臺(tái)式機(jī)上占領(lǐng)重要的席位?
  L:我們還在努力,我認(rèn)為Chromebook筆記本實(shí)際上做得相當(dāng)不錯(cuò),即便它只是一個(gè)相當(dāng)有限的桌面環(huán)境,并非完全傳統(tǒng)式的Linux工作站模式。
  至于為什么臺(tái)式機(jī)如此難啃,原因很多,但最大的原因很簡(jiǎn)單,就是用戶的慣性問(wèn)題。在計(jì)算機(jī)世界,臺(tái)式機(jī)非常獨(dú)特,它是非常私人的東西——如果你使用電腦的話,每天都會(huì)與其進(jìn)行相當(dāng)親密地交互;同時(shí)臺(tái)式機(jī)在很多方面都具有其他計(jì)算環(huán)境所不具有的復(fù)雜性。
  看看你的智能手機(jī),這也是一個(gè)相當(dāng)具有親密度的計(jì)算設(shè)備,與人們密切相關(guān)(而在這一點(diǎn)上,多虧了安卓,讓Linux有出色的表現(xiàn))。臺(tái)式機(jī)在各方面都更為復(fù)雜,遺留的負(fù)擔(dān)也更重,所以這個(gè)市場(chǎng)很難進(jìn)入。人們?cè)谑褂檬謾C(jī)時(shí)習(xí)慣了特定應(yīng)用和流程,很多人也會(huì)嘗試更換操作系統(tǒng),不過(guò)安裝不同操作系統(tǒng)的人還是比使用預(yù)裝系統(tǒng)的人要少得多,而這一點(diǎn)在臺(tái)式機(jī)上更加凸顯。
  同時(shí),我認(rèn)為這個(gè)市場(chǎng)很重要,盡管在某種程度上來(lái)說(shuō),整個(gè)“通用桌面”的市場(chǎng)似乎都正在衰落。更專業(yè)的東西就越簡(jiǎn)單,因此平臺(tái)承擔(dān)了很多任務(wù):包括智能手機(jī)、平板電腦以及Chrome筆記本都代表著羽翼尚未豐滿的通用環(huán)境。
  S: Linux的什么用途最讓你感到驚訝?
  L:最近沒(méi)有太多,因?yàn)槲矣X(jué)得Linux已經(jīng)成為設(shè)計(jì)新硬件或服務(wù)模型的默認(rèn)環(huán)境了。如果你有些奇怪的專用設(shè)備,或者正在創(chuàng)建某些新的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施什么的,要想不用Linux的話幾乎讓人無(wú)法理解。
  不過(guò)那些“奇怪的”使用領(lǐng)域經(jīng)常會(huì)讓我感到驚訝,讓我覺(jué)得Linux似乎還是那個(gè)工作站和服務(wù)器操作系統(tǒng)。在一些早期的Linux商務(wù)會(huì)議上,當(dāng)人們炫耀鼓風(fēng)機(jī)或電冰箱運(yùn)行Linux時(shí),我都會(huì)佩服地五體投體。在第一臺(tái)TiVo出現(xiàn)時(shí),它能運(yùn)行Linux還有“可以重播電視的直播節(jié)目”都讓人非常有興趣。
  S: 目前Linux所面臨的最大挑戰(zhàn)是什么?
  L:實(shí)際上內(nèi)核運(yùn)行地很好,人們還在擔(dān)心太復(fù)雜會(huì)影響理解或者bug修復(fù),這種擔(dān)憂可以理解,但與此同時(shí),我們也網(wǎng)羅到了很多聰明人。系統(tǒng)變得越來(lái)越大,越來(lái)越復(fù)雜,又有很多人依賴著它,使得我們必須得設(shè)置很多流程。接受巨大而具有侵略性的改變是很有挑戰(zhàn)性的,因此我不會(huì)認(rèn)為這是愜意的事情,不過(guò)在我看來(lái),內(nèi)核開(kāi)發(fā)的很不錯(cuò),很多其他的開(kāi)源項(xiàng)目都很想要我們這樣的資源。
  即便如此,我們總能遇到這樣的挑戰(zhàn):內(nèi)核中總有過(guò)多的硬件。我們支持很多不同的硬件,幾乎可以確定要比其他操作系統(tǒng)支持的都要多,但每天都有新的硬件出現(xiàn)。特別是硬件平臺(tái)開(kāi)發(fā)時(shí)間通常較短的嵌入式領(lǐng)域(在中國(guó)只用1、2個(gè)月就能轉(zhuǎn)過(guò)頭來(lái)創(chuàng)建一個(gè)全新的手機(jī)平臺(tái)),想要嘗試在這樣的環(huán)境中工作非常艱難。好消息是,有很多硬件廠商都在幫忙,過(guò)去并非如此。
  S: 現(xiàn)在你對(duì)什么技術(shù)發(fā)展趨勢(shì)有興趣?有哪些會(huì)讓你感到失望?
  L:我一直對(duì)新的核心硬件很感興趣,特別是CPU之類的。這也是我一開(kāi)始做自己操作系統(tǒng)的原因,現(xiàn)在我還是對(duì)新的平臺(tái)很有興趣。當(dāng)然,大多數(shù)時(shí)候只需要在現(xiàn)有的硬件上做些微調(diào),而且我深信這就是技術(shù)發(fā)展應(yīng)當(dāng)朝向的方向。不過(guò)在這些事情上,我還是傾向于繼續(xù)跟進(jìn)追蹤。
  從更大的層面來(lái)講,雖然我個(gè)人并未介入這個(gè)領(lǐng)域,但能夠看到人工智能AI)最終如何實(shí)現(xiàn)會(huì)很有趣。AI曾經(jīng)屬于那種“還得二十年之后才能實(shí)現(xiàn)”的技術(shù),到了現(xiàn)在它還是“需要二十年才能實(shí)現(xiàn)”的技術(shù)。對(duì)于過(guò)去人們經(jīng)常使用的“基于規(guī)則的模型”,我沒(méi)有太深刻的印象。
  現(xiàn)在,終于神經(jīng)網(wǎng)絡(luò)也開(kāi)始發(fā)展了,我覺(jué)得這一點(diǎn)很有趣。雖然這并非是我所致力的領(lǐng)域,也不算是我希望投身的領(lǐng)域,但確實(shí)很有吸引力。與那些瘋狂的LISP和Prolog語(yǔ)言不同,我們都知道遞歸神經(jīng)網(wǎng)絡(luò)是作用于本質(zhì)的。對(duì)于真正的AI開(kāi)始出現(xiàn)這件事,我完全不會(huì)感到沮喪,有些人會(huì),但我完全不會(huì)。
  S: 根據(jù)你的看法,在50周年時(shí)Linux能否依舊保持活躍呢?你所夢(mèng)想的操作系統(tǒng)是什么樣子的?
  L:我不怎么擅長(zhǎng)預(yù)測(cè),我本人只是一個(gè)缺乏想象力、很乏味的工程師罷了,總是嘗試著眼于現(xiàn)實(shí)基礎(chǔ)。關(guān)于預(yù)測(cè)這件事,還是讓別人來(lái)做好了,無(wú)論5年、10年還是25年——我認(rèn)為,只要我們繼續(xù)追蹤所有小的的日常細(xì)節(jié),并盡力而為做到最好就可以了。
  如果這個(gè)世界發(fā)生了巨大的改變,25年之后從根本上全然不同的話,也許會(huì)更有意思。不過(guò),如今操作系統(tǒng)的很多根本的問(wèn)題,與60年前人們剛有真正的操作系統(tǒng)時(shí)所存在的問(wèn)題完全相同。據(jù)我猜測(cè),未來(lái)計(jì)算機(jī)所發(fā)生的變化說(shuō)不定還比不上在過(guò)去50年中的變化呢,硬件和軟件開(kāi)發(fā)人員只是學(xué)到了哪些能夠運(yùn)行,哪些不能。
  當(dāng)然,神經(jīng)網(wǎng)絡(luò)等等技術(shù)會(huì)改變世界,但它們有一部分特質(zhì)就是無(wú)需“編程”,他們是自學(xué)習(xí)的,也是邏輯模糊的。我?guī)缀跄軌蚩隙ǎ阂驗(yàn)檫@個(gè)原因,它們無(wú)法取代傳統(tǒng)的計(jì)算模型,人們想要更智能的機(jī)器,但也需要能完全按照指令工作的機(jī)器。因此我們目前的“舊式”風(fēng)格計(jì)算方式不會(huì)消失,而只會(huì)得到增強(qiáng)。
?

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?