華爲「2012實驗室」是一個頗具神祕色彩的部門,它專一於研究新理論和基礎軟件研發,許多前沿的新技術均誕生於此,所以有媒體曾將其稱爲「中國黑科技最多的地方」。安全
「2012實驗室」部門包含許多以世界知名科學家或數學家命名的神祕實驗室,例如香農實驗室、高斯實驗室、謝爾德實驗室、歐拉實驗室和圖靈實驗室等。從這些極具「理工科」氣質的實驗室命名中能看到,華爲對數學乃至科學的推崇態度可見一斑。服務器
本文將要介紹的 openEuler 正是來自歐拉實驗室——華爲自有操做系統研發中心。由歐拉實驗室主導研發的服務器操做系統 EulerOS 去年宣佈開源,開源後改名爲 openEuler。openEuler 是 EulerOS 的開源版本,基於 Linux 穩定內核,支持鯤鵬處理器和容器虛擬化技術,特性包括系統高可靠、高安全以及高保障。架構
上文提到 openEuler 是一款服務器操做系統,所以其面向的對象主要是服務器,包含了基礎加速庫、虛擬化、內核、驅動、編譯器、OS 工具和 OpenJDK 等組件。框架
openEuler 內核基於 Linux Kernel ,華爲做爲 openEuler 社區的重要組成部分,在 Linux Kernel 5.8 版本中,代碼貢獻全球第二。openEuler 經過開放的社區形式,以擁抱全世界的姿態與上下游生態創建鏈接,經過協做模式開發共同推動版本演進,吸引開發者和廠商共同構建一個開放、多元和架構包容的軟件生態體系。工具
做爲一個秉承共享理念的開源項目,openEuler 也將始終堅持 Upstream First 策略,全部體如今新版本上的改進和新特性會第一時間向上遊開源社區貢獻。這種正向反饋的模式也將吸引更多的全球開發者參與建設。性能
對於 openEuler 的這種開放特性,華爲鯤鵬計算領域副總裁江大勇曾在首屆 openEuler 峯會 2020 上有過更爲深入的解釋:「openEuler 不只是一個 Linux 的發行版,也不只是一個開源社區,openEuler 更是一個創新的平臺,全部開發者、合做夥伴、開源愛好者共同參與進來,一塊兒圍繞客戶的場景進行創新,有更多新的想法產生,讓應用體驗更好,讓計算產業更繁榮。」優化
上個月最新發布的 openEuler 20.09 正是對其開放理念的最好印證,由於新版本發佈是 openEuler 社區中的多個公司、團隊以及獨立開發者協同開發的成果,充分體現了開放社區協同開發的優點。雲計算
-
中科院軟件所貢獻了 RISC-V 新指令集架構支持spa
-
麒麟軟件爲社區共享了 UKUI 桌面環境操作系統
-
雲原生虛擬化平臺 StratoVirt 和 iSula 容器升級版,二者的結合重構了輕量級雲原生基礎架構
-
BiSheng JDK 爲 Java 應用帶來更強的性能
-
IMA 完整性度量架構和 secGear 機密計算框架,給開發者在多平臺安全應用的開發效率帶來倍級提高
一樣得益於龐大且開放的社區,據瞭解,在 20.09 版本的開發過程當中社區貢獻者總共合併了 11485 個 PR,SIG 組的數量增長到 71 個,覆蓋了從雲計算、雲原生到桌面端等多個領域。
不一樣於 LTS 版本,根據版本計劃 openEuler 20.09 屬於創新版本,其在試驗和探索新技術方面更爲激進,旨在構築開發者生態,所以會產生更多的活躍新特性,這些特性在某種程度上反映了社區對將來趨勢的判斷。
例如 20.09 中的雲原生虛擬化平臺 StratoVirt。StratoVirt 是 openEuler 開源平臺上實現的下一代虛擬化技術,Strato 意指大氣層中的平流層,寓意是保護 openEuler 平臺上業務平穩運行的輕薄保護層。
目前 openEuler 平臺已經使用的是 QEMU 虛擬化技術,QEMU 是通用模擬器和虛擬機,幾乎能夠模擬任何硬件設備,不過它代碼量龐大,CVE 安全漏洞頻出。所以業界逐步演進出以 Rust 語言實現的 CrosVM、FireCracker 和 Rust-VMM 等架構。安全、輕量、高性能、低損耗、組件靈活拆分、全場景(數據中心、終端、邊緣設備)通用的虛擬化技術是將來的趨勢。
StratoVirt 做爲 Rust 語言實現的虛擬化項目,提供了輕量虛擬機和標準虛擬機兩種模式。對於輕量化場景,StratoVirt 僅實現運行業務負載所需的最小設備集,極大精簡傳統虛擬化冗餘的設備類型,大大減小系統開銷。由於輕量虛擬機模式下,單虛機內存底噪小於 4MB,啓動時間小於 50ms,且支持毫秒級時延的設備極速伸縮能力。
對於傳統業務的上雲環境,StratoVirt 經過動態配置方式實現對標準虛擬機的支持,並將持續優化系統性能。標準虛擬機模式下,可支持完整的機器模型,啓動標準內核,可取代 QEMU,同時在代碼規模和安全性上有較大提高。
能夠看到,StratoVirt 以一套軟件架構同時支持多種虛擬化硬件加速技術,並將逐步從 CPU 通用計算向 AI 異構計算演進,推進算力融合。
除了基礎應用方面的創新,openEuler 20.09 對於來自上游的內核新特性的吸取也十分迅速,並會根據須要進行改進。
IMA (內核完整性度量架構, Integrity Measurement Architecture)是 openEuler 在 20.09 版本引入到內核的新特性,20.03 LTS 及以前版本均不提供對 IMA 以及可信計算的支持。IMA 的引入從無到有地填補了 openEuler 在可信計算領域的空缺,提供了在應用層保護文件完整性的能力,鏈接了信任鏈中的可信操做系統和可信應用。
20.09 版本不只使用了 Linux 4.19 內核原生的 IMA 特性,同時也提供了一種更安全、更便捷的新方案——IMA 摘要列表擴展供用戶選擇,新方案在保證安全性的同時,顯著提高了度量的效率,方便了用戶的使用。摘要列表擴展在確保安全性的前提下,減小了沒必要要的 PCR 擴展操做,相比原生 IMA 啓動時間減小約 65%。
在易用性方面,摘要列表擴展可實現安裝完成後開箱即用,且容許直接在 enforce 模式下安裝或升級 rpm 包,無需重啓和手動標記便可使用,實現了用戶感知最小化,適合現網環境下的快速部署和平滑升級。對推進 IMA 應用於生產環境有重大意義。
openEuler 20.09 的新特性很是多,從基礎軟件到內核改進,乃至深刻到 CPU 支持層面等。而爲衆多特性貢獻代碼的既有廠商、也有科研機構和獨立開發組織或開發者。
所以,計算機產業多樣性的繁榮發展離不開產業鏈上下游的共同參與。openEuler 做爲開放社區,正在吸引愈來愈多的全球開發者乃至廠商加入進來,同時做爲一個創新平臺,它鼓勵任何人在該平臺上提出新想法、新思路以及實踐新方案,構建支持多處理器架構、統一開放的操做系統社區,共同推進軟硬件應用生態繁榮發展,朝着「共建、共享、共治」方向穩步前進。