明敏 克雷西 發自 凹非寺
量子位 | 公眾號 QbitAI
蕪湖~在AI重塑智能終端這個關鍵時刻,首個適用于嵌入式和移動設備的開源Rust內核,來了!
vivo最新宣布,開源自研藍河操作系統內核
它完全由Rust語言編寫,從根本上解決了傳統C語言在內存安全、維護成本上的長期難點。
而且更加輕量化,對硬件資源要求低;兼顧通用性,支持ARM、RISC-V架構。
這不僅是國產操作系統的一次突破——在Linux等內核以外另辟蹊徑;也是對國產操作系統的一次創新——使用新興的Rust編程語言,構建內存安全的操作系統內核。
為了更進一步推動Rust生態發展,第三屆vivo藍河操作系統創新賽也即將啟動,面向行業及高校,為廣大開發者們提供學習交流平臺,并給予豐厚的獎勵;同時,vivo也將持續與行業伙伴一起,共同推動Rust語言在中國的推廣和普及。
vivo這一波,一石多鳥啊。
但問題是,引爆這一切的藍河內核,究竟能做什么?
安全、輕量、通用
此次開源的部分是vivo自研藍河操作系統(BlueOS)的核心。
作為行業首個從內核到系統框架全棧使用Rust語言編寫的操作系統,藍河操作系統本身就具備天生更智慧、天生更流暢、天生更安全的特性——
- 智慧,指的是藍河操作系統架構設計深度融合藍心智能,支持多種AI算法;
- 流暢,是指藍河通過一系列高性能技術,充分發揮了軟硬件資源的利用效率;
- 安全,則是藍河操作系統全棧使用能保障內存安全的Rust語言,從源頭確保安全性。
而這次vivo開源了藍河操作系統重中之重的部分——藍河內核。它是行業首個適用于嵌入式和移動設備的開源Rust內核,兼具安全、輕量和通用三大優勢。
選擇Rust,天生更安全
首先說安全,在操作系統開發中,內存安全一直是核心關注點。
統計數據顯示,傳統以C/C++編寫的系統中高達70%的嚴重安全漏洞源自內存使用不當。這導致諸如緩沖區溢出、空指針引用、Use-After-Free(UAF)等漏洞頻發,嚴重威脅系統安全。
例如Dirty COW(臟牛)是Linux內核中的一個本地提權漏洞,其名稱源自問題出現于內核內存管理的“拷貝-寫”機制,導致非法獲得root權限。
在Windows操作系統及其組件中,也有Use-After-Free(UAF)類漏洞屢見不鮮。攻擊者可能利用懸空指針訪問,從而執行任意代碼或控制系統。
這樣的例子不勝枚舉,但都與內存相關。
修復漏洞自然是操作系統安全工作的一個重要環節,但這種模式治標不治本,需要從更底層的維度,從根本上避免漏洞的出現。
藍河操作系統內核選擇的Rust,就是這種從源頭實現天生更安全的技術路線。
藍河選用的Rust引入了所有權(Ownership)和借用檢查(Borrow Checker)機制,在編譯期間強制保證對內存的合法訪問,可以防止緩沖區溢出,同時禁止空指針和懸空引用并避免重復釋放,減少內存泄漏。
Rust不僅在編譯期杜絕大部分內存錯誤,運行時也通過智能指針等機制確保安全高效的內存管理。
這種模式下,內存分配和釋放都有明確的生命周期,模塊間共享內存也在類型系統約束下進行,安全可靠。
除了內存安全方面的先天優勢,藍河內核在架構上也采用了權限控制與特權分離、模塊隔離與安全擴展等多種安全設計策略,為系統提供了全面的防護。
不只安全,運行也要高效
在安全的基礎之上,藍河操作系統內核還具備輕量化和跨平臺通用的特性。
操作系統開發者希望內核及系統占用盡可能少的內存。
一方面,許多終端設備(如物聯網設備、可穿戴設備)內存容量有限,操作系統若過于龐大將擠占應用運行空間;另一方面,較小的內存占用也有助于降低設備成本。
針對這一需求,藍河操作系統內核在設計時強調精簡和高效。得益于Rust語言的內存安全和零成本抽象特性,藍河內核避免了不必要的內存開銷,最小內核堆內存占用僅13KB。
藍河內核還通過精簡內核架構和減少依賴,在系統上電后需要初始化的組件更少,從而加快了引導過程。
整體而言,藍河內核的輕量化設計有效滿足了開發者對快速啟動的期待,讓終端設備可以“即開即用”。
跨越平臺,兼容多種硬件架構
隨著RISC-V架構的興起以及ARM架構在移動和IoT領域的廣泛應用,操作系統若能同時支持多架構將大大方便開發者的移植工作。
而且開發者習慣了POSIX標準等通用接口規范,希望新系統能兼容這些規范以重用現有的軟件和經驗。
藍河操作系統內核在設計之初就考慮了跨架構的通用性,兼容RISC-V、ARM等多芯片架構,可滿足開發者在不同平臺的業務需要。
Rust語言編譯器支持從嵌入式芯片到高性能處理器的眾多架構,再加上沒有與平臺強綁定的匯編代碼負擔,使內核代碼本身極具可移植性。
藍河操作系統內核的接口也支持POSIX標準,提供統一規范的系統調用接口,呈現出統一的接口給上層軟件。
隨著其內核現在開源并吸引社區參與移植優化,為開發者提供了更大的自主空間。
從功能上看,藍河內核配齊了操作系統最關鍵的核心功能:包括系統調度、內存管理、文件系統、網絡和設備驅動等。
并且這些功能支持的模式廣泛、工作效率高,同時最大程度地適應了開發者原有的開發習慣,可以說對開發者非常友好。
總之,vivo從底層方方面面出發,用Rust構建了全新的操作系統內核。
目前,開發者可通過登錄以下網址獲取藍河內核的開源代碼:
? AtomGit:https://atomgit.com/vivoblueos
? GitHub:https://github.com/vivoblueos
登錄藍河內核官方網站(https://blueos.vivo.com/kernel)也可以了解相關信息。
但問題來了,為何非要這么做,而且開源?必要性是什么?背后用意如何?
全力推動國產Rust生態發展
個中影響因素,還要從技術本身、產業發展以及國家戰略幾個維度來分析。
首先,用Rust編寫系統內核,本身就具備先天優勢。
盡管成熟操作系統核心多由C/C++編寫(比如Linux),但存在一些老生常談的問題,比如引入內存漏洞、UAF(Use After Free)、緩沖區溢出等,系統穩定性依賴于極其嚴密的工程規范和人力經驗。
Rust作為新一代編程語言,以內存安全和高效率著稱,可以從源頭上避免更多安全隱患,長遠來看漏洞更少、可維護性更高。
根據Stack?Overflow的開發者調查,目前Rust已經連續9年成為全球開發者最喜愛的編程語言。
并且,在系統軟件中引入Rust也已經成為行業共識
比如谷歌已經在Android中引入Rust模塊,Linux社區已經接受Rust驅動模塊的主線集成,微軟嘗試用Rust替代Win 32驅動模塊……
這意味著,用Rust全棧重寫操作系統內核并非重復造輪子,而是“單車變摩托”的升級。
其次,從產業層面來看,操作系統自主可控的呼聲一直很高,但長期以來國產操作系統對Linux內核依舊有強依賴。
這就好比,盡管我們能用更好的材料和設計理念造出漂亮房子,但房子的關鍵房梁還是不可控。
因此,自研操作系統、掌握核心底層架構,一直是產業界需要共同突破的問題。一旦實現這一突破,則意味著對底層系統架構話語權的重構,也重新定義了國產廠商以及開發者的創新邊界。
最后,vivo選擇將藍河內核開源,這也更符合Rust生態以及中國操作系統產業生態良性發展的需求。
Rust雖然一直以來受到開發者們的歡迎,但是開發群體仍是少數。這意味著Rust語言還需要進一步推廣、壯大生態,才能更充分發揮其優勢,幫助產業鏈廠商提高競爭力。
vivo此次開源藍河內核,也是在盡可能推動Rust生態建設。
開源操作系統≠開源內核,比如很多廠商只開放UI或者SDK層,并不開放底層資源調度邏輯,這在一定程度上會限制創新發展。比如一個封閉的內核,即使存在漏洞也難以及時審查與修復。
開源內核則能吸引開發者與產業鏈共建,覆蓋硬件廠商、系統開發者以及高校開源社區等群體。這意味著,不只是vivo一家終端廠商可以用,所有感興趣的行業伙伴,都可以基于藍河內核做創新。
比如在底層芯片上,藍河內核兼容多芯片架構支持多種平臺的內聯匯編,就是為了進一步滿足開發者的實際需求。以及當下Linux內核依舊占主導地位,驅動代碼量近2000萬行,占比超過60%;藍河內核既支持Rust開發驅動,也兼容已有C語言驅動,支持漸進式遷移驅動生態。
據了解,vivo計劃聯合開放原子開源基金會和高校,每年舉辦一屆藍河操作系統創新賽,并通過社區及多種其他方式,提供Rust學習、交流和課程開發平臺。
而我國的操作系統產業,正需要這樣繁榮旺盛的開發生態,才能從根本上實現自主創新可控。
加之大模型浪潮下AI原生終端興起,Agent、本地模型推理等對底層系統提出更高要求,包括實時性、安全性、高效資源調度等。用Rust全棧構建的操作系統內核,也更符合當下開發需求,能夠為AI應用大爆發提供更堅實可靠的底座。
如此種種也就不難理解,為何vivo要在此時此刻選擇開源藍河內核。
天時地利人和,方方面面,都已到了最佳節點。
而能夠做到這一切,也不容忽略vivo自身的長期積累與一以貫之的技術信仰。甚至是縱觀全球,在Rust語言的研究、產品化落地和開源實踐上,vivo都已經步入行業前列,是Rust發展的先行者和中堅力量。
藍河內核的開源值得關注,不過最關鍵的還是為開發者們帶來了新機遇。
AI重塑終端,底層系統、上層應用都將被全新重構,移動互聯網時代應用爆發、百花齊放的局面,勢必將再次上演。
vivo趕在大爆發前開源,搶先為大家搭建好用底層平臺。
新語言、新內核、新風口。
開發者朋友們,新的金礦已經來到眼前了。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.