【我們為什麼挑選這篇文章】對於軟體開發者而言,Linux 擁有多樣 SSH、MySQL、PHP功能支援 ,近年更因為其開源特性成為為許多人的作業系統首選。

然而在雲端時代,龐大的容器挑戰讓 Linux 遇到瓶頸,也讓Kubernetes 因應而生,不過其實早在 10 年前「Plan 9」就提出相關微服務的技術,但後來發生什麼事呢?讓我們從 Plan 9 系統的起源地美國貝爾實驗室開始認識。(責任編輯:何泰霖)

本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請連繫出處
作者:量子位

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 和 Dennis 意識到,分散式的數據儲存與調用在日後將成為主流,所以需要做一套更簡潔優雅且實用的系統來服務這種需求。

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 成熟運用的時候了嗎? 微軟 2021 線上雲端技術盛會-Open Source 單元  3/31 即將上線,報名了解「容器管理」新挑戰怎麼解!

參考資料:bell-labswikipedia

(本文經 AI 新媒體量子位 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈“C語言之父”40年前搞的操作系統復活!Linux、Windows都藉鑑過它 〉。首圖來源:bell-labs)

你可能有興趣

用 print 太慢了!資深工程師要知道這 5 個 debug 工具
Linux 的核心跟鮭魚有關!帶你認識開源碼的「鮭魚學」