ADVERTISEMENT
Plan 9作業系統?沒聽說過….但事實是,連Linux、Windows都得叫它一聲「老大哥」!沒錯,這套40年前由「C語言之父」開發的作業系統,如今仍然在深刻影響著Linux、Windows。
最新消息的消息是,擁有Plan 9版權的美國貝爾實驗室,剛剛宣布下放版權給開發者社群。也就是說,Plan 9這個在幕後默默影響行業40年的分散式作業系統,要正式「復活」了。
Plan 9系統是什麼?
大名鼎鼎的貝爾實驗室,是C語言,以及Linux系統的前身Unix誕生地。
當然,這裡也誕生了電晶體、雷射器、太陽能電池、發光二極管、數位交換機、通訊衛星、電子數位計算機、蜂巢式行動通訊設備、長途電視傳送、仿真語言、有聲電影、立體聲錄音等等重大發明。
而Unix和C語言核心開發者,大家肯定不陌生,Ken Thompson和Dennis Ritchie,都是如雷貫耳的big name,且都獲得因為這兩項成就獲得圖靈獎。
但是外界鮮有人知的是,他倆80年代在貝爾實驗室還開發了另外一套作業系統Plan 9。
其實,Plan 9一開始並不是這個系統的名字,只是這個專案的代號,名字來源於電影史上因為「爛到極致」而備受追捧的科幻片《外星9號計劃》。
看來,C語言之父們,也是骨灰級科幻影迷~
之後,貝爾實驗室因為種種原因停止了對這個專案的投資,早期研發工作完成後,這個專案被擱置了,於是「Plan 9」漸漸就成了這個系統的名字。
為什麼要開發這樣一套系統?當時,Ken和Dannis意識到,分散式的資料儲存的系統呼叫方式日後會成為主流,所以需要做一套簡潔優雅實用的系統來服務這種需求。
Plan 9的開發,沒有依賴任何Unix已有的基礎,而是完全另起爐灶。
以當時的眼光來看,Plan 9十分先進超前,模式與傳統作業系統完全不同。
Plan 9的結構是一個鬆散耦合的服務集合,這些服務可能被託管在不同的機器上。
設計的關鍵概念是每個行程的名稱空間:即服務可以映射到固定的本地名稱上,因此,即使當前的服務被提供相同功能的其他服務所取代,使用這些服務的程式也不用改變。
Plan 9是真正的分散式作業系統,而不僅僅是整合了幾個Unix功能這麼簡單。你可以毫不費力地在網路上的多台主機上執行任何程式,可以使用網路上任何主機的任何資源,包括檔案、行程、圖形、網路、磁碟。
如果Linux也能這樣工作,那麼就沒人需要Kubernetes了。
通俗的說,如果Unix或Linux中「一切都是檔案」,那麼Plan 9則是「一切都是網路檔案系統」。
如果你有一台筆記型電腦和一台桌上型電腦,而連接了印表機的卻只有桌上型電腦,那使用筆電能不能直接印印?
在Linux中,你必須設置CUPS,打開網路通訊埠,下載驅動程式,設定讓兩台機器都能和印表機通訊。
而在在Plan 9中,你的筆記型電腦只需要透過網路打開桌面的印表機檔案就可以印印了。
Plan 9到底有多先進?儘管他本身被貝爾實驗室冷藏起來,但是,Plan 9中的很多經典設計和思維,一直沿用至今。
Linux、Windows、5G,都向Plan 9取經過
Eric S. Raymond在他的著作中分析了為何Plan 9最終下馬。
他認為,Plan 9最後會失敗單純只是因為它的完善程度不夠大。當時,雖然Unix看來破破爛爛又有明顯缺失,但是它還是能把工作完成,這就足以保住它的地位了。
開創性的Plan 9最終沒能「起飛」,但它的創新卻被許多商業作業系統所採用。
比如,Linux中廣泛普及的透過檔案系統提供作業系統服務的概念就出自Plan 9。
此外,Plan 9極簡主義視窗系統設計已經被無數系統效法,包括Windows:
而今天在瀏覽器中普遍使用的UTF-8字元編碼,最初就是為Plan 9發明的,並在Plan 9中首次實現。
Plan 9的分散式設計也在諾基亞-貝爾實驗室的專案中得以延續,比如World Wide Streams,這套流處理程式今天部署在地理上相隔甚遠的多個5G邊緣雲端和核心雲端的運算節點上。
可以說,今天流行的微服務架構,早在幾十年前,Plan 9就已經提出了。
從這個角度來看,Plan 9其實從來沒有真正「隱退」過。
幾十年來,一直有民間的愛好者自發組成社群對Plan 9進行開發,而最近,貝爾實驗室則官方宣布完全「復活」Plan 9,直接將版權下放給開發者社群。
Plan 9復活後要做什麼?
獲得貝爾實驗室官方認可的開發者社群,名字叫Plan 9基金會,是愛好者們自下而上組織起來的,2020年9月剛剛成立。
基金會的主頁上,只寫明了將來會致力於Plan 9的開發和應用,具體的工作計劃還沒有發表。
而貝爾實驗室對於Plan 9能日後能發揮多大作用似乎也沒有把握。
他們在官方聲明中說:
貝爾實驗室十分支持開源社群,而Plan 9可能使全球軟體開發社群受益。
誰知道呢,也許Plan 9會成為新興的分散式雲端基礎設施的一部分,支撐著即將到來的工業革命。
好吧,看來貝爾實驗室打算徹底「放生」Plan 9。
只是不知道,假如日後Plan 9真的能成氣候,變成有巨大影響力的作業系統,貝爾實驗室會不會後悔今天的決定呢?
最後,獻上彩蛋一枚。
Plan 9的開發者之一,同時也是C語言最主要的發明者Dennis Ritchie,是一個十分傳奇的電腦科學家。
有多傳奇?在一眾電腦大咖中,他是唯一一個沒有博士學位的。並且,他是出於一個「十分任性」的原因,自己放棄了博士學位。
想看他的故事嗎?我們有機會再說。
- 資料來源:Plan 9 from Bell Labs in Cyberspace!
- 本文授權轉載自量子位
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!