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