國產(chǎn)操作系統(tǒng)回顧2022 展望2023值得關(guān)注的技術(shù)趨勢
在整個(gè)軟件生態(tài)中,操作系統(tǒng)起到重要的承上啟下作用。經(jīng)過數(shù)十年的持續(xù)迭代和演進(jìn),操作系統(tǒng)整體發(fā)展穩(wěn)健。從技術(shù)角度來看,雖然近幾年并未涌現(xiàn)突破性成果,但不少受訪專家對 InfoQ 表示,巨變正在醞釀中。當(dāng)前,全球數(shù)字經(jīng)濟(jì)進(jìn)一步發(fā)展,企業(yè)數(shù)字化轉(zhuǎn)型持續(xù)深入,以及摩爾定律的失效,都為軟硬件帶來新的挑戰(zhàn),而這也是操作系統(tǒng)變革的重要驅(qū)動(dòng)力。
回顧操作系統(tǒng)的 2022 年,可以發(fā)現(xiàn),有些改變正在悄然發(fā)生。隨著“量變”的積累,操作系統(tǒng)必將迎來“質(zhì)變”的飛躍。
2022 年,值得關(guān)注的大事件
2022 年,全球操作系統(tǒng)市場格局穩(wěn)定??磭庵髁鞑僮飨到y(tǒng),桌面操作系統(tǒng)方面并未帶來太多驚喜。與去年重磅發(fā)布的 Windows 11、Windows 365 相比,Windows 今年僅帶來了一些小范圍的更新。
移動(dòng)操作系統(tǒng)方面,Android 13 與 iOS 16 相繼登場,但也都屬于常規(guī)升級。2 月 11 日,谷歌發(fā)布了首個(gè) Android 13 開發(fā)者預(yù)覽版,8 月 16 日,谷歌向 Pixel 機(jī)型推送了 Android 13 正式版更新,并正式開源;6 月 7 日,蘋果正式發(fā)布 iOS 16,并推送了首個(gè)開發(fā)者預(yù)覽版,9 月 13 日,蘋果正式推送 iOS 16 系統(tǒng)更新。
服務(wù)器操作系統(tǒng)方面,發(fā)展穩(wěn)健。5 月,紅帽正式發(fā)布 RHEL 9,其基于上游內(nèi)核版本 5.14,并源自 CentOS Stream;10 月,SUSE 推出業(yè)界首個(gè)自適應(yīng) Linux 平臺原型(Adaptable Linux Platform,簡稱 ALP),旨在讓用戶專注于工作負(fù)載,從硬件和應(yīng)用層抽離出來。
看國內(nèi)操作系統(tǒng),2022 年迎來了多個(gè)版本升級。3 月,OpenHarmony 3.1 正式發(fā)布;4 月,歐拉首個(gè)數(shù)字基礎(chǔ)設(shè)施全場景長周期版本 openEuler 22.03 LTS 正式發(fā)布;7 月,華為正式發(fā)布 HarmonyOS 3 以及搭載 HarmonyOS 3 的多款新產(chǎn)品;8 月,OpenCloudOS 開源操作系統(tǒng)社區(qū)正式發(fā)布首個(gè) Linux 源社區(qū)(L1)內(nèi)核版本 OCKS 2207,這也是 OpenCloudOS 源社區(qū)項(xiàng)目的核心組件;11 月,龍蜥社區(qū)正式發(fā)布面向云時(shí)代打造的下一代操作系統(tǒng) Anolis OS 23 公測版……
2022 年,國產(chǎn)操作系統(tǒng)市場增速顯著。根據(jù)億歐智庫測算,國產(chǎn)操作系統(tǒng)通用市場增速將超過 20%,在 2024 年將達(dá)到 34.1 億元的規(guī)模。服務(wù)器操作系統(tǒng)方面,數(shù)據(jù)顯示,2022 年上半年,中國服務(wù)器操作系統(tǒng)新增裝機(jī)量是 195 萬套,全年預(yù)計(jì)超過 400 萬,過去兩年,這個(gè)數(shù)字是 322 萬和 350 萬。這說明在產(chǎn)業(yè)數(shù)字化的背景下,操作系統(tǒng)依然是個(gè)巨大的增量市場。
總體而言,2022 年,國產(chǎn)操作系統(tǒng)在技術(shù)、社區(qū)和商業(yè)化方面均有快速發(fā)展:技術(shù)方面,更多企業(yè)及研究機(jī)構(gòu)投入到自研系統(tǒng)項(xiàng)目中,原創(chuàng)組件和技術(shù)如雨后春筍般涌現(xiàn);社區(qū)方面,頭部社區(qū)蓬勃發(fā)展,新的社區(qū)不斷出現(xiàn);商業(yè)化方面,OSV 都有較為明顯的業(yè)績增長。
另一個(gè)顯著變化是,中國開源力量迅速崛起,國內(nèi)開發(fā)者正越來越深入地參與到開源操作系統(tǒng)的建設(shè)中。在一份對 Linux 內(nèi)核提交數(shù)量的統(tǒng)計(jì)中,來自中國的開發(fā)者占比不斷提高,有統(tǒng)計(jì)的來自中國的 patch 數(shù),連續(xù) 7 年超過美國成為第一。
操作系統(tǒng)作為底層基礎(chǔ)軟件,其安全性至關(guān)重要,操作系統(tǒng)的安全也是網(wǎng)絡(luò)系統(tǒng)信息安全的基礎(chǔ)。2022 年,全球范圍內(nèi)都進(jìn)一步重視開源軟件供應(yīng)鏈問題,可以說,開源安全在今年邁出了一大步。
2022 年 1 月 13 日,美國白宮召集了政府和 Apache 軟件基金會(huì)、Linux 基金會(huì)、開源安全基金會(huì)、GitHub、微軟、谷歌、甲骨文、紅帽等企業(yè)或組織共同談?wù)撻_源軟件安全問題。5 月 12 日,Linux 基金會(huì)和開源安全基金會(huì)提出了一項(xiàng)為期兩年的近 1.5 億美元的投資計(jì)劃,并提出十個(gè)開源安全目標(biāo):安全教育、風(fēng)險(xiǎn)評估、數(shù)字簽名、內(nèi)存安全、事件響應(yīng)、更好的掃描、代碼審計(jì)、數(shù)據(jù)共享、軟件物料清單(SBOM)以及改進(jìn)的供應(yīng)鏈。
國內(nèi)方面,10 月 24 日,開放原子開源基金會(huì)聯(lián)合 27 家單位共同發(fā)起開源安全委員會(huì),開源安全委員會(huì)致力于制定開源項(xiàng)目的安全流程和規(guī)范、提供開源開發(fā)的安全工具和平臺、發(fā)起開源安全依賴的關(guān)鍵項(xiàng)目、推動(dòng)開源安全的國際合作與交流。
如何評價(jià)國產(chǎn)操作系統(tǒng)的 2022?
對于國產(chǎn)操作系統(tǒng)在 2022 年的整體發(fā)展,受訪專家均給出了積極評價(jià),關(guān)鍵詞包括機(jī)遇、加速、合力等。
操作系統(tǒng)作為信息技術(shù)的核心底座,具有復(fù)雜度高、投入大、生態(tài)建設(shè)難、成功率低等特點(diǎn)。經(jīng)過二十余年的探索與實(shí)踐,中國有能力在技術(shù)上實(shí)現(xiàn)一個(gè)大型的操作系統(tǒng)。同時(shí),近幾年國內(nèi)操作系統(tǒng)市場快速增長,人才儲備量提升,政策投入力度巨大,操作系統(tǒng)產(chǎn)業(yè)正迎來新機(jī)遇。在這一背景下,國產(chǎn)操作系統(tǒng)的發(fā)展也駛?cè)肟燔嚨溃瑥臒o到有,從可用到好用,國內(nèi)開發(fā)者用短時(shí)間迅速完成這一轉(zhuǎn)變。此外,與其他軟件不同,操作系統(tǒng)是一個(gè)強(qiáng)生態(tài)的產(chǎn)品,這也需要操作系統(tǒng)廠商與硬件廠商、高校、互聯(lián)網(wǎng)等軟件廠商等各個(gè)鏈條通力合作,共同促進(jìn)操作系統(tǒng)生態(tài)建設(shè)。
對于服務(wù)器操作系統(tǒng),則可以用“格局盡顯,穩(wěn)中有進(jìn)”來形容這一年。
2022 年,主流云廠商、服務(wù)器廠商、芯片廠商以及傳統(tǒng)操作系統(tǒng)廠商都加大了對操作系統(tǒng)研發(fā)和操作系統(tǒng)社區(qū)的投入。隨著中國在操作系統(tǒng)領(lǐng)域研發(fā)力度的持續(xù)增加,國產(chǎn)開源操作系統(tǒng)社區(qū)和商業(yè)化操作系統(tǒng)的產(chǎn)品性能都已經(jīng)大幅提升,生態(tài)建設(shè)也初具規(guī)模,開始具備規(guī)模化推廣能力。
“當(dāng)前國產(chǎn)操作系統(tǒng)正在逐漸走向成熟好用階段。未來 5-10 年,可能是國產(chǎn)操作系統(tǒng)的黃金時(shí)代?!笔茉L專家表示。
重點(diǎn)趨勢與變化解讀
2022 年,Linux 內(nèi)核最大的一個(gè)變化是新增了對 Rust 語言的支持。此外,近兩年涌現(xiàn)出的新技術(shù)在 2022 年繼續(xù)帶來新的變化,如 eBPF 技術(shù)、RISC-V 架構(gòu)。
Rust for Linux
Rust 憑借其內(nèi)存安全特性,近年來受到越來越多開發(fā)者的支持,并連續(xù) 7 年被 Stack Overflow 開發(fā)者調(diào)查評為“最受歡迎的編程語言”。2022 年的調(diào)查結(jié)果顯示,有 87% 的開發(fā)者表示想要繼續(xù)使用 Rust。
而 Linux 內(nèi)核社區(qū)長期以來都是以性能、穩(wěn)定性、安全作為發(fā)展的基本要求,這與 Rust 在安全方面的特性非常契合。因此,早在幾年前就有開發(fā)者呼吁在 Linux 內(nèi)核中增加 Rust 語言的支持。
在 2022 年 9 月舉行的 Linux Plumbers Conference 上,有一場關(guān)于 Rust 是否會(huì)出現(xiàn)在 Linux 中的小型會(huì)議,會(huì)議討論了將 Rust 作為一門系統(tǒng)編程語言集成到 Linux 內(nèi)核主線的工作。彼時(shí),Linux 的創(chuàng)建者 Linus Torvalds 在接受媒體采訪時(shí)表示,“如果不出意外,Rust 將會(huì)出現(xiàn)在 Linux 6.1 版本中”。12 月 11 日,Linus Torvalds 發(fā)布了最新的 Linux 6.1 內(nèi)核穩(wěn)定版,正式引入對 Rust 的支持。
Rust for Linux 帶來的收益明顯,安全性上的收益尤為突出。
在安全性上,Window 的一份數(shù)據(jù)可以作為參考。此前,一位微軟工程師曾透露,微軟產(chǎn)品每年通過安全更新解決的所有漏洞中,大約 70% 是內(nèi)存安全問題。因?yàn)?Windows 主要是用 C/C++ 這兩種“內(nèi)存不安全”的編程語言編寫的。
Linux 同樣如此。隨著 Linux 內(nèi)核代碼量愈發(fā)龐大,貢獻(xiàn)者數(shù)量迅速增長,系統(tǒng)安全性問題也變得越來越突出。而 Rust 設(shè)計(jì)初衷就是為了解決內(nèi)存安全問題,在功能保持不變的情況下,用 Rust 語言進(jìn)行重寫相當(dāng)于將安全性提升三倍左右。此外,Linux 內(nèi)核對代碼執(zhí)行效率要求較高,Rust 的執(zhí)行效率和 C/C++ 近乎一致,這也是其能成為底層系統(tǒng)編程語言的原因之一。
當(dāng)前,Rust for Linux 還處于早期階段。長期以來,Linux 內(nèi)核主線代碼基本都由 C/C++ 語言編寫,接受 Rust 需要社區(qū)補(bǔ)充和完善大量的周邊工作。
同時(shí),對于內(nèi)核維護(hù)者來說,Rust 進(jìn)入 Linux 內(nèi)核也會(huì)帶來一些問題。
首先,沒有銀彈。雖然 Rust 語言在設(shè)計(jì)上更多地考慮了內(nèi)存安全、線程安全等,但代價(jià)是比較陡峭的學(xué)習(xí)曲線,以及使用者在實(shí)現(xiàn)某些功能時(shí)的便利性。此外,內(nèi)核是貼近硬件、最底層的程序,某些在用戶態(tài)司空見慣的語言特性,比如異常的處理方式,在內(nèi)核里是不一樣的。對于 Rust 而言,如何在內(nèi)核里更好地工作,還有很大的探索空間。
其次,計(jì)算機(jī)語言和自然語言一樣,都能反映出文化。C/C++ 語言反映出來的文化和 Rust 不同,對于那些已經(jīng)非常熟悉并深度認(rèn)同 C/C++ 語言文化的資深 Linux 內(nèi)核維護(hù)者來說,接受 Rust 的難度較高。
對于 Rust for Linux 的未來發(fā)展,多數(shù)專家都給出了積極評價(jià):“從長遠(yuǎn)看,會(huì)有越來越多新的代碼用 Rust 來實(shí)現(xiàn)?!?/p>
eBPF 時(shí)代來臨
eBPF 的全稱是“擴(kuò)展型伯克利封包過濾器(Extended Berkeley Packet Filter)”,最早是從 BPF (Berkeley Packet Filter) 技術(shù)擴(kuò)展而來,是一種無需更改 Linux 內(nèi)核代碼,便能讓程序在內(nèi)核中運(yùn)行的技術(shù)。
2014 年,eBPF 首次出現(xiàn)在 Linux 內(nèi)核中。經(jīng)過社區(qū)不斷迭代,目前,eBPF 技術(shù)已經(jīng)非常成熟,技術(shù)應(yīng)用呈現(xiàn)井噴現(xiàn)象。雖然在設(shè)計(jì)之初 eBPF 僅為 Linux 內(nèi)核服務(wù),但近年來已經(jīng)誕生了一批基于 eBPF 的項(xiàng)目。2021 年 5 月,微軟啟動(dòng)了新的開源項(xiàng)目 eBPF for Windows,該項(xiàng)目旨在讓開發(fā)者在現(xiàn)有 Windows 版本之上使用熟悉的 eBPF 工具鏈和應(yīng)用編程接口(API)。為了更好地推動(dòng) eBPF 的發(fā)展,2021 年 8 月 12 日,Linux 基金會(huì)旗下的非營利性組織 eBPF 基金會(huì)正式成立。
2022 年,eBPF 熱度不減,仍是當(dāng)下最火的技術(shù)之一。eBPF 技術(shù)帶來的收益明顯,一方面,包括 Linux、Windows 在內(nèi)的主流操作系統(tǒng)內(nèi)核是宏內(nèi)核,可拓展性較差,而 eBPF 技術(shù)能夠以非侵入式的方式對內(nèi)核進(jìn)行擴(kuò)展;另一方面,eBPF 提供了比較好的安全性、擴(kuò)展性和兼容性。
不少受訪專家對 InfoQ 表示,eBPF 的發(fā)展前景廣闊,屬于 eBPF 的時(shí)代已經(jīng)來臨。
“eBPF 技術(shù)的發(fā)展已經(jīng)超出了我的預(yù)期。操作系統(tǒng)內(nèi)核在沒有應(yīng)用 eBPF 技術(shù)以前,整個(gè)內(nèi)核是靜態(tài)的,編寫內(nèi)核時(shí)實(shí)現(xiàn)了什么功能,運(yùn)行時(shí)也只有這些功能,最多可以做一些參數(shù)的調(diào)整,但無法帶來更復(fù)雜的功能變化。應(yīng)用 eBPF 技術(shù)以后,可以在 Linux 內(nèi)核中運(yùn)行沙盒程序,編譯成相關(guān)字節(jié)碼加載到內(nèi)核中,無需更改內(nèi)核源代碼或加載內(nèi)核模塊?!庇惺茉L專家表示,eBPF 技術(shù)為操作系統(tǒng)內(nèi)核提供了一個(gè)新的可能性,為內(nèi)核帶來根本性的改變。
對于 eBPF 的未來,eBPF summit 2022 《The future of eBPF in the Linux Kernel》給出了幾個(gè)演進(jìn)方向:
更完備的編程能力:當(dāng)前 eBPF 的編程能力存在一些局限性(比如不支持變量邊界的循環(huán),指令數(shù)量受限等),演進(jìn)目標(biāo)是提供圖靈完備的編程能力;
更強(qiáng)的安全性:支持類型安全,增強(qiáng)運(yùn)行時(shí) Verifier,演進(jìn)目標(biāo)是提供媲美 Rust 的安全編程能力;
更廣泛的移植能力:增強(qiáng) CO-RE,加強(qiáng) Helper 接口可移植能力,實(shí)現(xiàn)跨體系、平臺的移植能力;
更強(qiáng)的可編程能力:支持訪問 / 修改內(nèi)核任意參數(shù)、返回值,實(shí)現(xiàn)更強(qiáng)的內(nèi)核編程能力。
擁抱 RISC-V
近幾年,RISC-V 以其開放的指令集架構(gòu)受到越來越多操作系統(tǒng)廠商和開發(fā)者的青睞,不少操作系統(tǒng)開始擁抱 RISC-V,并成為一種新興趨勢。Semico Research 預(yù)測,到 2025 年,RISC-V 市場規(guī)模將超 10 億美元。
國外包括英特爾、蘋果、Tenstorrent、瑞薩電子等多個(gè)廠商都在積極布局 RISC-V。2022 年 2 月,英特爾宣布加入 RISC-V International 基金會(huì),正式成為該基金會(huì)第 19 個(gè)高級會(huì)員,并設(shè)立了 10 億美元的 IFS 基金,用于幫助初創(chuàng)和成熟企業(yè)進(jìn)行代工生態(tài)的創(chuàng)新,其中很大一部分用于 RISC-V;9 月,半導(dǎo)體產(chǎn)業(yè)分析機(jī)構(gòu) SemiAnalysis 稱,蘋果正在將其嵌入式內(nèi)核將全面轉(zhuǎn)移到 RISC-V 架構(gòu);同月,任職于 Tenstorrent 負(fù)責(zé) RISC-V 架構(gòu)的傳奇芯片設(shè)計(jì)師 Jim Keller 喊出了“未來是屬于 RISC-V 的”口號。
在 2022 RISC-V 國際峰會(huì)上,RISC-V 基金會(huì)首席執(zhí)行官 Calista Redmond 表示,“我們 2022 年的愿景是讓 RISC-V 無處不在,隨著 RISC-V 在汽車、航空航天、數(shù)據(jù)中心以及消費(fèi)設(shè)備等各個(gè)領(lǐng)域的采用和開發(fā),這一愿景已經(jīng)真正實(shí)現(xiàn)”。
目前,RISC-V 國際基金會(huì)在 70 個(gè)國家 / 地區(qū)擁有超過 3180 名會(huì)員,覆蓋芯片廠商、芯片設(shè)計(jì)服務(wù)公司、軟件提供商等軟硬件公司,以及大學(xué)、科研機(jī)構(gòu)和投資機(jī)構(gòu)等。市場上有超過 100 億個(gè) RISC-V 核心,全球有數(shù)萬名工程師致力于 RISC-V 計(jì)劃。
國內(nèi)方面,自 2018 年成立中國 RISC-V 產(chǎn)業(yè)聯(lián)盟以來,四年間已有 150 多家會(huì)員單位。包括華為海思、阿里平頭哥、紫光展銳、兆易創(chuàng)新在內(nèi)的多家芯片廠商基于 RISC-V 架構(gòu)開發(fā)產(chǎn)品,越來越多的操作系統(tǒng)廠商和社區(qū)開始擁抱 RISC-V。2020 年 4 月,中科院軟件所牽頭成立了 openEuler 社區(qū) RISC-V SIG 組。
2022 年 8 月,阿里平頭哥發(fā)布首個(gè)高性能 RISC-V 芯片平臺“無劍 600”及 SoC 原型“曳影 1520”;同月,阿里云、中科院軟件所 PLCT 實(shí)驗(yàn)室、平頭哥等在龍蜥社區(qū)成立 RISC-V 架構(gòu)聯(lián)合小組,全面兼容并促進(jìn) RISC-V 生態(tài)發(fā)展;同月,OpenCloudOS 社區(qū)推出 OCKS 2207.2 內(nèi)核版本,增加對 RISC-V 64 架構(gòu)的支持;11 月,deepin 社區(qū)宣布支持曳影 1520,deepin V23 已經(jīng)啟動(dòng)與曳影 1520 平臺的適配;12 月,中科院軟件所基于 openEuler 打造的傲來操作系統(tǒng)宣布進(jìn)入 2.0 階段,最新發(fā)布的“傲來 2.0-RV”聚焦 RISC-V 指令集,提供模擬器、硬件板卡等多種運(yùn)行環(huán)境,其中硬件板卡支持中科院香山、果殼系列,支持哪吒 D1 開發(fā)板、賽昉 VisionFive 單板機(jī)、SiFive 公司 Unmatched 系列,同時(shí)也集成了澎峰科技的并行計(jì)算庫。移動(dòng)操作系統(tǒng)方面,2022 年,OpenHarmony 新增了對 3 款 RISC-V 芯片的支持,包括 TLSR9518、HPM6750IVM1 以及 BK7235。
從生態(tài)繁榮程度上來看,RISC-V 生態(tài)正處于增長關(guān)鍵期。當(dāng)前,RISC-V 的生態(tài)建設(shè)有很多基礎(chǔ)性工作需要做,比如硬件需要更加成熟和規(guī)范,軟件(主要是在內(nèi)核層面)需要與硬件配合得更好,以及功能更加完善,這些都需要內(nèi)核開發(fā)者們合作完成?!拔覀兊慕?jīng)驗(yàn)就是 Upstream First,即任何工作都首先貢獻(xiàn)到上游社區(qū),與所有的生態(tài)合作伙伴一起,完善這個(gè)生態(tài)?!笔茉L專家總結(jié)道。