“C語言之父”40年前搞的操作系統(tǒng)復(fù)活!Linux、Windows都借鑒過它
Plan 9操作系統(tǒng)?沒聽說過….
但事實(shí)是,連Linux、Windows都得叫它一聲“老大哥”!沒錯(cuò),這套40年前由“C語言之父”開發(fā)的操作系統(tǒng),如今仍然在深刻影響著Linux、Windows。最新消息的消息是,擁有Plan 9版權(quán)的美國(guó)貝爾實(shí)驗(yàn)室,剛剛宣布下放版權(quán)給開發(fā)者社區(qū)。就是說,Plan 9這個(gè)在幕后默默影響行業(yè)40年的分布式操作系統(tǒng),要正式“復(fù)活”了。
Plan 9系統(tǒng)是干什么的?
大名鼎鼎的貝爾實(shí)驗(yàn)室,是C語言,以及Linux系統(tǒng)的前身Unix誕生地。當(dāng)然,這里也誕生了晶體管、激光器、太陽能電池、發(fā)光二極管、數(shù)字交換機(jī) 、通信衛(wèi)星、電子數(shù)字計(jì)算機(jī)、蜂窩移動(dòng)通信設(shè)備、長(zhǎng)途電視傳送、仿真語言、有聲電影、立體聲錄音等等重大發(fā)明。而Unix和C語言核心開發(fā)者,大家肯定不陌生,Ken Thompson和Dennis Ritchie,都是如雷貫耳的big name,且都獲得因?yàn)檫@兩項(xiàng)成就獲得圖靈獎(jiǎng)。但是外界鮮有人知的是,他倆80年代在貝爾實(shí)驗(yàn)室還開發(fā)了另外一套操作系統(tǒng)Plan 9。其實(shí),Plan 9一開始并不是這個(gè)系統(tǒng)的名字,只是這個(gè)項(xiàng)目的代號(hào),名字來源于電影史上因?yàn)椤盃€到極致”而備受追捧的科幻片《外星9號(hào)計(jì)劃》。看來,C語言之父?jìng)?,也是骨灰?jí)科幻影迷~之后,貝爾實(shí)驗(yàn)室因?yàn)榉N種原因停止了對(duì)這個(gè)項(xiàng)目的投資,早期研發(fā)工作完成后,這個(gè)項(xiàng)目就擱置了起來,“Plan 9”漸漸就變成了這個(gè)系統(tǒng)的名字。為什么要開發(fā)這樣一套系統(tǒng)?當(dāng)時(shí),Ken和Dannis意識(shí)到,分布式的數(shù)據(jù)存儲(chǔ)調(diào)用方式日后會(huì)成為主流,所以需要做一套簡(jiǎn)潔優(yōu)雅實(shí)用的系統(tǒng)來服務(wù)這種需求。Plan 9的開發(fā),沒有依賴任何Unix已有的基礎(chǔ),而是完全另起爐灶。以當(dāng)時(shí)的眼光來看,Plan 9十分先進(jìn)超前,模式與傳統(tǒng)操作系統(tǒng)完全不同。Plan 9的結(jié)構(gòu)是一個(gè)松散耦合的服務(wù)集合,這些服務(wù)可能被托管在不同的機(jī)器上。設(shè)計(jì)的關(guān)鍵概念是每個(gè)進(jìn)程的名稱空間:即服務(wù)可以映射到固定的本地名稱上,因此,即使當(dāng)前的服務(wù)被提供相同功能的其他服務(wù)所取代,使用這些服務(wù)的程序也不用改變。Plan 9是真正的分布式操作系統(tǒng),而不僅僅是集成了幾個(gè)Unix功能這么簡(jiǎn)單。你可以毫不費(fèi)力地在網(wǎng)絡(luò)上的多臺(tái)主機(jī)上執(zhí)行任何程序,可以使用網(wǎng)絡(luò)上任何主機(jī)的任何資源,包括文件、進(jìn)程、圖形、網(wǎng)絡(luò)、磁盤。如果Linux也能這樣工作,那么就沒人需要Kubernetes了。通俗的說,如果Unix或Linux中 “一切都是文件”,那么Plan 9則是 “一切都是網(wǎng)絡(luò)文件系統(tǒng)”。如果你有一臺(tái)筆記本和一臺(tái)臺(tái)式機(jī),而連接了打印機(jī)的卻只有臺(tái)式機(jī),那使用筆記本能不能直接打???搜索公眾號(hào)C語言編程后臺(tái)回復(fù)“架構(gòu)整潔”,獲取一份驚喜禮包。在Linux中,你必須設(shè)置CUPS,打開網(wǎng)絡(luò)端口,下載驅(qū)動(dòng)程序,設(shè)置兩臺(tái)機(jī)器都能和打印機(jī)通信。而在在Plan 9中,你的筆記本電腦只需要通過網(wǎng)絡(luò)打開桌面的打印機(jī)文件就可以打印了。Plan 9到底有多先進(jìn)?盡管他本身被貝爾實(shí)驗(yàn)室雪藏起來,但是,Plan 9中的很多經(jīng)典設(shè)計(jì)和思路,一直沿用至今。Linux、Windows、5G,都借鑒Plan 9
Eric S. Raymond在他的著作中分析了為何Plan 9最終下馬。他認(rèn)為,Plan 9最后會(huì)失敗單純只是因?yàn)樗耐晟瞥潭炔粔虼蟆.?dāng)時(shí),雖然Unix看來破破爛爛又有明顯缺失,但是它還是能把工作完成,這就足以保住它的地位了。開創(chuàng)性的Plan 9最終沒能“起飛”,但它的創(chuàng)新卻被許多商業(yè)操作系統(tǒng)所采用。比如,Linux中廣泛普及的通過文件系統(tǒng)提供操作系統(tǒng)服務(wù)的概念就出自Plan 9。此外,Plan 9極簡(jiǎn)主義窗口系統(tǒng)設(shè)計(jì)已經(jīng)被無數(shù)系統(tǒng)借鑒,包括Windows:而今天在瀏覽器中普遍使用的UTF-8字符編碼,最初就是為Plan 9發(fā)明的,并在Plan 9中首次實(shí)現(xiàn)。Plan 9的分布式設(shè)計(jì)也在諾基亞-貝爾實(shí)驗(yàn)室的項(xiàng)目中得以延續(xù),比如World Wide Streams,這套流處理程序今天部署在地理上相隔甚遠(yuǎn)的多個(gè)5G邊緣云和核心云的計(jì)算節(jié)點(diǎn)上。可以說,今天流行的微服務(wù)架構(gòu),早在幾十年前,Plan 9就已經(jīng)提出了。從這個(gè)角度來看,Plan 9其實(shí)從來沒有真正“隱退”過。幾十年來,一直有民間的愛好者自發(fā)組成社區(qū)對(duì)Plan 9進(jìn)行開發(fā),而最近,貝爾實(shí)驗(yàn)室則官宣完全“復(fù)活”Plan 9,直接將版權(quán)下放給開發(fā)者社區(qū)。Plan 9復(fù)活后要做什么?
獲得貝爾實(shí)驗(yàn)室官方認(rèn)可的開發(fā)者社區(qū),名字叫Plan 9基金會(huì),是愛好者們自下而上組織起來的,2020年9月剛剛成立。基金會(huì)的主頁上,只寫明了將來會(huì)致力于Plan 9的開發(fā)和應(yīng)用,具體的工作計(jì)劃還沒有出臺(tái)。而貝爾實(shí)驗(yàn)室對(duì)于Plan 9能日后能發(fā)揮多大作用似乎也沒有把握。他們?cè)诠俜铰暶髦姓f:貝爾實(shí)驗(yàn)室十分支持開源社區(qū),而Plan 9可能使全球軟件開發(fā)社區(qū)受益。誰知道呢,也許Plan 9會(huì)成為新興的分布式云基礎(chǔ)設(shè)施的一部分,支撐著即將到來的工業(yè)革命。好吧,看來貝爾實(shí)驗(yàn)室打算徹底“放生”Plan 9。只是不知道,假如日后Plan 9真的能成氣候,變成有巨大影響力的操作系統(tǒng),貝爾實(shí)驗(yàn)室會(huì)不會(huì)后悔今天的決定呢?最后,獻(xiàn)上彩蛋一枚。Plan 9的開發(fā)者之一,同時(shí)也是C語言最主要的發(fā)明者Dennis Ritchie,是一個(gè)十分傳奇的計(jì)算機(jī)科學(xué)家。有多傳奇?在一眾計(jì)算機(jī)大佬中,他是獨(dú)一份沒有博士學(xué)位的。并且,他是出于一個(gè)“十分任性”的原因,自己放棄了博士學(xué)位。想看他的故事,,后面文章安排!參考鏈接:
https://www.bell-labs.com/institute/blog/plan-9-bell-labs-cyberspace/