作者 | 鍾俊
策劃 | 凌敏
1浪潮:自主與安全背景下的中國作業系統發展
曾經國內的通用作業系統市場幾乎被國外企業壟斷。從我國上世紀九十代推進信息化建設開始,數代國人從懵懵懂懂到熟練運用電腦,就是面對著國外作業系統,一步步地追逐著時代浪潮學習信息技術的理念、技術與應用。在很多普通用戶的心目中,國外的作業系統產品和計算機的籠統概念幾乎就是等同的。
我國的作業系統技術研究也在同一時期起步。在「七五」計劃中,我國開始了作業系統領域的研究工作,並基於 Unix 早期版本研製出了我國自己的通用作業系統。
但無奈作業系統領域正值技術變革時期,國外在 Unix 技術上已經積累了二十多年的使用和研發經驗,到了突破的臨界點,在新變量的刺激下,新的作業系統出現,迅速壟斷市場。我國的通用作業系統從起步就已經落後,在市場上缺少用戶基礎,對於新的技術趨勢缺乏認知,缺少持續研發通用作業系統的人才儲備和技術實力。在各種因素的影響下,我國的作業系統發展逐漸脫離通用領域,偏居於一些敏感的細分領域。
在這樣的背景下,我國的作業系統發展沉寂了多年,而國外作業系統發展迅猛,逐漸占據了我國信息化的關鍵領域。隨著信息化的不斷深入,信息化設施成為國民經濟基礎設施,國家開始認識到信息安全的重要性,以及作業系統自主在國家信息安全中的重要地位。
我國的作業系統發展有了新的使命,再次煥發活力。但此時我國的作業系統發展水平與國外已經越拉越大,要達到國外的水平並非一蹴而就。在政策激勵下,國產作業系統的發展從「自主可控」艱難出發,經歷「安全可信」等幾個階段,到目前正式提出國產替代。經歷了長時間的分析、調研、準備、嘗試,持續不斷的積累下,到目前條件成熟,進入了全面鋪開的階段。
從 2020 年信創全面啟動到今天,在政策利好和風向投資牽引下,諸多實體和廠商進入信創作業系統領域,頭部廠商正在形成,開源基金會和開源社區逐步成立,通用與細分領域兼顧。組織聯盟正在形成,競爭與發展格局正在按照預先的設想逐步成形。為國產作業系統未來的發展,開啟了很多可能。
從生態角度來看,以開源社區為活力源頭,通過頭部廠商加入與捐獻,為中國基礎軟體領域的開源運動打下基礎、注入活力。以生態組織聯盟,促進軟硬體結合、解決兼容性問題,促進行業標準的形成。通過產學研聯合,推進國產作業系統的應用推廣、培養後繼人才。目前都取得了顯著的成績,為國產軟體的發展注入信心。
從產業角度來看,各個實體廠商各具優勢,且具有很強的成長性。對於自身發展有明確的定位和清晰的規劃,同時積極參與生態的建設,保持持續的投入。眾人拾柴火焰,生態建設和商業實現並舉,相互激勵,正在進入良性的發展軌道。
從技術角度來看,目前選定 Linux 開源為基礎,有很現實的考慮。我國的作業系統發展,起於「七五」計劃後期,對於 Unix 等作業系統有深入的研究,在八十年代就已經取得了自研中文通用作業系統的成果。但 Windows 系統的崛起和大舉進入中國,對於我國的作業系統研究規劃產生了影響,使得後續的研究缺少市場的支持,處於停滯狀態。國內的作業系統研究轉向了細分領域,雖然無法改變在通用作業系統領域大大落後的局面,唯一可幸的是在更廣義的作業系統領域,始終保留了一定的投入,最重要的是持續培養了作業系統領域的人才,未使人才斷代。
Linux 也屬於類 Unix 系統,它也曾承受 Windows 系統的壓力,但是得益於開源運動持續注入的活力,Linux 系統逐漸成熟,目前 Linux 系統已經有廣泛的應用案例,在伺服器領域已經處於領先地位,桌面領域也有了基礎的應用生態,而且這個項目原始碼完全開放,一定程度上滿足了我國的安全訴求。因此,Linux 技術路線的選擇是自然的結果,是對我國早期作業系統研究所積累成果的銜接,也是我國自主可控戰略長期發展考量的結果,也是最符合現階段市場和應用條件的選擇。
在 Linux 項目中,我國廠商以 CPU 和設備廠商為首,在項目代碼貢獻中占據的比重越來越高。目前的 Linux 開源項目發展依然迅猛,我國廠商參與 Linux 生態不僅能夠使自身收益,也能夠促進國內基礎軟硬體產業的發展。基於 Linux 技術的作業系統的市場占有率,以及其開源屬性,足以保證基於 Linux 技術的國產作業系統可以支撐起作業系統國產替代的核心使命,以及在未來我國信息化持續發展過程中,以我國自主的作業系統生態、技術和產品保證國家基礎設施的信息安全和正常發展。
所以在作業系統國產替代完成後,我國基於 Linux 技術的國產作業系統發展之路還有很長的一段路要走。在這個過程中,我們也需要不斷地在市場中磨合、錘鍊,不斷積累技術和經驗,不斷培養人才和壯大生態,走上一個持續積累、進化的發展道路。
從應用角度來看,自信創 2020 年正式鋪開以來,到現在國內 PC 裝機量中 Windows 的占比已經大大降低,越來越多的實際案例證明國產軟硬體替代的解決方案在大到企業級小到個人 PC、移動終端等應用場景的可用性。
在前期充分的準備下,信創成果斐然。但對比國外作業系統發展水平,我們仍然在追趕階段,國產替代只是一個階段任務。在此基礎上,國家在自主性方面的需要,產業在持續增長性方面的需要,技術在競爭力方面的需要,正在形成合力。自主可控的作業系統、國產作業系統、自研作業系統等等,猶如一個個浪花一樣不斷湧現,將在統一的生態下匯聚成一個答案,就是中國的作業系統。
2驚濤:新的程式語言、內核與新一代作業系統
從通用計算機出現以來,作業系統一直是非常活躍和飽受關注的領域。從作業系統的發展歷史來看,Unix 系統在上世紀六十年代出現,Windows 在八十年代出現,Android 在本世紀初出現。作業系統的發展每隔二十年左右就會迎來一次劇變,如今又一個二十年即將到來。
雖然我們不能簡單地從歷史數據機械地得出作業系統二十年更新一代的結論,但是分析過往作業系統發展的重要節點背後的關鍵刺激因素,我們可以更加相信劇變即將到來。Unix 系統的出現是因為通用計算機,Winodws 的出現是因為 VGA 圖形顯示卡,Android 的出現是因為智慧型手機。硬體技術的突破帶來的信息基礎設施的擴展,是作業系統技術更新換代的根本原因。一項技術如果真正發展成熟,它應該像水一樣容易獲取,沒有門檻地造福大眾。但現今的作業系統所面臨的高昂成本或者兼容性、穩定性等等問題,仍然困擾著眾多的用戶。顯然當今的作業系統技術遠遠沒有成熟,而先進 5G 技術的發展,將會再次帶來信息基礎設施的擴展,必然也會引發作業系統的更新換代。
討論作業系統不能不討論它的雙生子——程式語言。Unix 系統與 C 語言誰成就了誰,就像是一個雞生蛋還是蛋生雞的問題,永遠沒有答案。但毫無疑問,這二者的影響力一直延續到了今天。即使後面又發展出了幾代新的作業系統,但是基礎的概念仍然沒有脫離 Unix 和 C 語言所確立的範疇。
正如作業系統由內核與上層組件組成一樣,程式語言也由語言核心和應用框架構成。作業系統與程式語言兩者的發展相互牽纏,彼此息息相關,呈現出一種類似 Tick-Tock 的發展節律。Unix/C 之後出現的幾代作業系統主要是在上層組件和運行框架上的革新,還沒有深入到作業系統和程式語言的底層概念。這並不是說作業系統和程式語言已經非常完美難以再進步,而是這種深層次的進化更加困難,尤其是程式語言的進化,所涉及到的技術更加基礎也更加難以掌控,需要更長時間的醞釀。
相對於作業系統來說,程式語言在這數十年間的新嘗試可能更加引人注目。一方面,最近幾代作業系統的確缺乏顛覆性的創新,更多的是一種延續和升級。因此作業系統底層技術並不需要根本性的改變,只需要量的積累就可以滿足這種變化。程式語言在這個層次上也有很多發展,各種應用框架不斷出現,開發者手中的工具箱越來越豐富。另一方面,語言本身核心的理念和範式,也在不斷發展,函數式編程、元編程等等,吸引了很多人研究,也有不少的應用。但在這方面的發展並沒有被吸收到作業系統的底層技術中,主要還是語言核心部分的革新更加困難,還沒有達到成熟。
因此我們觀察到,程式語言領域的變革是非常激烈的,吸收新思想而設計的新的程式語言不斷的出現,上世紀九十年代和本世紀初達到了一個高峰期。雖然還沒有產生推動作業系統底層技術進步的效果,仍然處在自我完善的過程中。但也應該看到,即使新的程式語言仍然還不成熟,但其向外輻射的影響力正在增強,逐漸改變程式語言發展與作業系統底層技術發展沒有有效結合的局面。Rust 正在進入 Linux 內核,微軟已經在嘗試使用新的語言重寫作業系統內核。
在未來幾年內,新的程式語言與新的內核彼此結合的情況將會成為越來越清晰的發展路線,二者彼此的結合也將促使各自的快速發展,使這種結合更加緊密,進入聚變的階段。在這種趨勢下,結合新的程式語言和新的內核,一定會產生新的更加成熟的作業系統,會和前幾代的作業系統大為不同,將是一次顛覆性的變革,大大改變作業系統及應用軟體的開發方式、部署方式、運行方式。這將是國外作業系統產業,從經驗到技術積累到臨界點,從而再次掀起的浪潮。
觀察國外基礎軟硬體的發展趨勢,新技術的衍生疊代過程,以 Linux 的主要發行商紅帽為標誌,國外實際在接近三十年前就開始了開源作業系統的商業化。而我國一直搖擺不定,直到最近幾年才真正下決心培育自己的開源生態:開源基金會 - 開源社區 - 發行廠商的產業格局。這已經比國外晚了幾十年,顯然我們失去了寶貴的積累經驗和試錯的時間。
實際上,國外的作業系統產業與開源生態的發展格局並不是一成不變的。面向不同用戶群體的發行版不斷出現,不斷壯大開發者和用戶群體,發行版的多樣性對生態發展起到了很大作用。從開源運動本身來說,也呈現多樣性,變得更加成熟,開源協議出現了不同的版本,大大促進了開源技術向商業領域延伸。
而基於開源技術的產品,有的是完全開源的,有的是開源 + 閉源結合的,有的是純的開源生態,有的是獨有的細分生態。這種多樣性,其實正說明國外的開源生態系統在經歷了長期的發展、磨合後,已經進入了具有張力的成熟期。
在大的開源理念下,與商業結合的具體方式有很多不同的形式,哪一種更適合我國的營商環境,其實有一個自然的磨合階段更好。所謂磨刀不費砍柴功,找到正確的方式,對我國作業系統的長期發展一定是非常有利的。而其中,生態的多樣性無疑是一個關鍵,沒有多樣性的生態,內部的活力最終將會枯竭。而這種多樣性,正是我們現階段所缺乏的。
國外生態的多樣性,使我們觀察到一個有趣的現象:在作業系統創新、新一代作業系統的研發上,具有獨立生態的廠商,具有更大的驅動力,而開源社區,卻變得缺少自我顛覆。這說明商業與生態已經反向鎖定了開源社區的技術取向。而這一切的底層邏輯是基礎軟體具有強大的輻射能力,只要沒有顛覆性的變革出現,基礎軟體的架構就能夠通過量的積累應對一般性的變化,所以 Linux 內核的代碼量越積越多,已經積重難返了。
曾經開源運動是打破軟體廠商技術壟斷的力量,而今天廠商變成了開源框架下推動創新的主力軍。時過境遷,角色也會互換,但生態的多樣性,始終在推動開源生態持續發展。這是我們在自主生態建設中,需要認真關注的一點。
從作業系統的最新研發熱點來看,Linux 內核為基礎的開源作業系統技術路線顯現出一絲被顛覆的可能,最顯著的一點是微內核的興起。在三十年前當開源社區與學術界就微宏內核的前景進行辯論時,當時的情況下,Linux 系統正嶄露頭角,雖然爭論沒有結論,但是後來的發展事實卻證明了 Linux 的勝出,至少反映出大眾心裡是這樣偏向的。但是今天或許這種情況會顯著改變,在新啟動的開源內核項目中,大多採用了微內核的技術路線。而 Linux 內核自身的發展,也進入了拐點,正在向微內核化方向發展。
以 5G 技術為基礎的物聯網帶來新的發展高潮,將傳統網際網路和基於其上的雲的邊界都大大擴展,虛實融合成為討論熱點。在新的場景下,對於作業系統的定義可能會有全新的變化。
而作為作業系統乃至所有軟體的基礎的程式語言和開發、構建工具也在持續不斷的演進,不斷有新的語言和編程模型出現。應用開發的要求從偏重性能逐漸轉向安全和可靠。一定會出現新的語言和新的作業系統,開啟一個全新的時代。而這個從醞釀到變革的過程,從生態層面來看,中國的產業界基本是缺失的,缺乏投入、缺乏參與者,只能看到偶爾翻起的浪花,並沒有形成一種具有牽引力的趨勢。大多數的作業系統行業的參與者,更多地關注著當下,極少關注更遠一些的未來。在這方面的差距,不是簡單的國產替代能夠補足,值得我們深思和警醒。
另外,Linux 系統自主可控是偽命題,我們並不能隨意修改 Linux 的內核代碼,因為需要嚴密的審核,而這些負責審核的主要是國外的專家團隊。我們也沒法控制 Linux 的發展方向以及與 Linux 相關的智慧財產權,因為這些都是屬於開源社區的。在涉及安全領域的時候,我們仍然面臨智慧財產權和法律方面的問題。
中國需要真正自主的作業系統,首先需要我們完全自主的程式語言、開發工具和完全自主的內核,兩者缺一不可。我們應該看到,新的程式語言和新的內核在新的技術突破、新的理念、新的市場的刺激下,正在逐步顯現。我們不能蒙蔽雙眼,只盯著國產替代的任務和國內市場,而應該在這個拐點抓住機遇,奮起超越。
3斬浪:中國作業系統未來的危機、機遇與方向
與商業相比,技術的發展沒有捷徑。商業的根本是資本,只要有資本就可以持續推動商業發展,並不需要關心這個資本是自己的還是借來的。在持續的商業發展中,通過不斷的積累,終究會形成自有資本,在這個基礎上經濟的獨立也可以毫不費力地實現。
而技術的發展是沒有捷徑的,因為技術的可持續性來源於創新能力。而沒有基礎的技術底蘊,沒有經過試錯階段,是不會有創新能力的。商業只關心結果,而技術的發展,過程才是最重要的。
作業系統的出現伴隨著計算機的發展。從最初的 Unix 系統,到後來的 Linux 系統,再到安卓系統,再到 ChromeOS,其實是一脈相承的。程式語言也是一樣。C 語言伴隨著 Unix 出現,後來發展出 C++,以及後來吸收了 C 語言優點或者針對 C 語言缺點進行改進而發展出的種種新的程式語言,比如 Rust,其實也是一脈相承的。在作業系統領域,我國在細分領域還是取得了不少成果的。但是在程式語言方面,世界流行的程式語言中,沒有一個是在中國的科技樹中結出的果子。
從國外作業系統發展來看,技術發展的連續性才能形成一定的厚度,從而支撐產業的良性發展。國外從 Unix 以降數代作業系統的發展,都離不開程式語言的發展,Unix 系統時期的 C 語言,Winodws 系統時期的 Visual C++,Android 系統時期的 Java 語言等等。其中一個共同的事實是,程式語言的發展才是作業系統更新換代的基礎。
可見技術是基礎,產業是上層建築。有了技術底蘊和持續性的發展,參天大廈,一切皆有可能。而相對的,市場是虛的,生態也是虛的,在不同的歷史階段,對於成本的考量邏輯不同他們的價值就不同。唯有獨立自主,基礎技術上不斷創新突破,才能在複雜的變局下握住通往未來的鑰匙。
我國的信創產業,主要還是面向應用的,在信創基礎軟體目錄中的,是應用所需要的基礎軟體,比如:作業系統、資料庫、中間件等。但是沒有包括這些基礎軟體持續發展所需的程式語言與工具,這些才是基礎的基礎。可見信創產業只是階段性目標,主要是面向應用的,核心是解決應用領域的自主可控。而我們所希望的國產替代,從基礎技術到生態到應用,從解決現實問題到可持續發展,使我國的信息化基礎實現完全的自主可控和持續發展,還有很長的路要走。
當前國產替代最複雜的是涉及到各行各業的應用的遷移,保證業務系統的穩定正常運行。但是從作業系統發展的角度,仍然處在較低的水平。我們國產替代所設定的目標,國外早已經達到,並且在積累大量經驗和新技術後,又走到了新台階的邊緣。我們跟國外作業系統不是一代的差距,很可能會繼續擴大,如果我們只滿足於市場與生態的置換的話。實際上信創只是階段任務,是為下一階段國產替代發展打下的基礎。國外的發展已經處在臨界點,我們要做的是忘掉目前的成果,打包好行囊,從「新」出發,直面新的變革,新的機遇與新的起點。在解決產業和生態問題後,技術端與應用端的連接有了更強的通道,技術的突破有了更有力的支撐,所以應該更加向下深入,瞄準基礎軟體的基礎前進。反過來,技術的突破又可以直接在應用端產生價值。
我們不能重蹈覆轍,在起步的時候就已經落後,既要打基礎,也要緊盯技術發展趨勢。國外下一代作業系統已經醞釀了很長時間,至今還沒有突破,這裡面有多方面複雜的原因,一方面 5G 技術帶來的變化巨大,輻射到產業鏈還需要時間,另一方面新一代的程式語言還沒有成熟,最後在前期的試錯中,國外頭部企業也犯了一些錯誤,需要時間調整策略、消化成果。美國作為技術領先者,他們掌握了最新的變革因素,並且已經做了嘗試、積累,正在開啟通向未來的大門。
而我國的產業技術,在完成國產替代後,實際上才剛剛打好基礎,從產業角度來說仍然還處於低谷。我們看似成功獲得最新的技術成果,和國外對手接近站在同一起跑線,但如果忽略潛藏的變化趨勢,簡單地看待國產替代,以市場占有率論功過,可能轉瞬間就被拉開代差。因為在下一代作業系統的時代,對手將在技術、模式、商業方面遠遠超過我們。我們短暫地獲得市場占有率後,在下一個歷史階段到來時,我們還會把這個市場占有率還回去。反過來,如果我們掌握這個通向未來的鑰匙,那麼我們就有機會和對手站在同一起跑線上,有超越對手的機會。
那麼我們是否能夠掌握這把鑰匙呢?在程式語言和工具方面,我國企業也並不是全無作為,只是缺少統一的生態,沒有形成趨勢。以目前國產替代中生態建設的成果,瞄準重點發力,我們是有可能趕上這一波技術更新的。這將使我們的國產替代之路,踏浪而行,縮短很多時間。
掌握自己的語言,就等於在波濤洶湧的浪潮中掌握劈波斬浪的利器。在技術上的自主,不是國產替代和市場成功可以實現的。以市場換技術,滿足了經濟發展的需要,但是卻犧牲了技術的自主性。中國在航天領域的成就,正說明技術是換不來的,只有依靠自己發展,才能實現技術的自主。
4煮海:信息技術產業優勢與創新結合改變未來
國產替代正在緊鑼密鼓地進行,從目前的情況看可行性已經得到驗證,應用領域在不斷擴展。以此為基點,新的市場格局與技術生態正在形成,這將成為我國信息產業未來發展的基點。
但同時也應該看到,我們有了自己的作業系統和生態,並不是我們趕上了對手,而是未來的變局正在醞釀,差距有可能拉大。對手的資源正在投入下一代作業系統研發中,並且已經取得一個個的突破,臨界點即將到來,而我們已經大大落後。
國產替代來源於安全述求,需要市場和生態的支撐,但是如果沒有持續不斷的技術創新和演進,市場的占有率只是短暫的,而失去市場和生態的支撐,我們將面臨發展和安全的兩難選擇,安全訴求也將成為空中樓閣。
所以,國產替代不是搶占市場,而是要以市場激活我國信息產業的造血功能,形成強大而持久的創新能力,才是長遠之謀。而程式語言與基礎工具是我們不能缺失的重要領域。
我國不是計算機的發源地,很遺憾地錯過了現代信息技術奠基的黃金時間,雖然我國在後來的大基礎科學領域,證明了我國的科技發展能力。但是信息技術發展的時代機遇錯過了,就不會再來。
雖然我國後來在作業系統領域做過很多努力,自七五計劃開始,就在大學和科研機構進行研究,有成果也培養了人才。但是作業系統雖然是基礎軟體,但它本質上是一種應用技術,僅僅進行研究是無法研製出優秀的作業系統,只有在市場中,在應用中才能不斷地完善磨礪國產的作業系統。正因策略的調整,所以如今國產替代以自有市場培養自主生態,才有了成效。
但要我國的作業系統技術真正的騰飛,還需要時代的機遇,還需要在技術上真正突破。我們錯過了計算機,錯過了網際網路。但是在 5G 時代,我們趕上來了。中國在 5G 技術的發展過程中處於領導地位,而 5G 技術帶來的網際網路、終端設備,服務方式、業務類型的深層次的變化,必定會在整個軟體棧帶來深刻變化,首先就是作業系統領域的突破。
中國有發達的網際網路市場,有領先的 5G 技術,在這樣的有利條件下,理應爭取下一代作業系統中,迎頭趕上,占據一席之地。以 5G 衍生出來的新生態為契機實現超越。
對比國外作業系統發展的歷史,我國在硬體技術突破,產業生態、市場等方面都具備了下一代作業系統的研製條件,是否能在下一代作業系統中占有一席之地,關係到國產替代是重蹈起步就落後的覆轍,還是實現技術的騰飛。而所欠缺的就是基礎的基礎,程式語言和相應的工具。
歷史又回到起點,相比於「七五計劃」時期,我們在政策,技術,市場,人才方面都有長足進步,對於如何發展自己的作業系統,有能力給出不同的答案。立足於本國信息產業發展,建立多樣性的自主生態系統,掌握基礎軟體的基礎語言與工具,需要我們不僅僅盯住國內市場,更應該關注變化,還要有決心,才能掌握主動,擁有煮海之力。
作者介紹
鍾俊,統信軟體研發技術專家,專注於內核與編譯器技術,長期在通信、雲計算、安全、信創等多個行業從事底層軟體技術研發及相關工作。
點擊底部閱讀原文訪問 InfoQ 官網,獲取更多精彩內容!
今日好文推薦
Web 開放性或遭重大打擊!谷歌四名工程師推出 WEI 方案,可讓廣告攔截變成歷史
第一批因AIGC裁掉自家員工的老闆該後悔了?
C# 和 Type 之父親自帶隊開源 TypeChat,又一 AI 技術瓶頸被攻破?
終於找到 ChatGPT 「智商」下降的原因了!OpenAI 側面回應,GPT 可能真被你們玩壞了?