自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

操作系統(tǒng)專家解讀 openEuler 22.09 最新技術特性

系統(tǒng)
openEuler 采用長期支持(LTS)版本和創(chuàng)新版本間隔的發(fā)布方式,每兩年發(fā)布一個 LTS 版本,期間每半年發(fā)布一個創(chuàng)新版本,用于推出實驗性的技術特性。本次發(fā)布的 openEuler 22.09 創(chuàng)新版就帶有不少的創(chuàng)新特性。

前不久,歐拉社區(qū)發(fā)布了今年的創(chuàng)新版本 openEuler 22.09。作為歐拉社區(qū)貢獻給開放原子開源基金會后的首個創(chuàng)新版本,此版本中新增了 2012 萬行代碼,其中僅在 Linux 內核上就新增了 4.8 萬行代碼,全量代碼已達 6.7 億行!

openEuler 采用長期支持(LTS)版本和創(chuàng)新版本間隔的發(fā)布方式,每兩年發(fā)布一個 LTS 版本,期間每半年發(fā)布一個創(chuàng)新版本,用于推出實驗性的技術特性。本次發(fā)布的 openEuler 22.09 創(chuàng)新版就帶有不少的創(chuàng)新特性。但是在歐拉社區(qū)官方發(fā)布的公告中,并沒有特別詳細地介紹這些特性,因此,我特別邀約了華為服務器 OS 首席架構師、openEuler 社區(qū)技術委員會委員熊偉來為我們解讀了本次發(fā)布中的一些最新、最酷的技術特性。

從內核說起

在本次的 openEuler 22.09 發(fā)布公告中提及了若干技術特性,比如可編程內核、分布式軟總線、嵌入式硬實時,這些新的名稱給人一種似曾相識,但又不明其中奧秘的感覺。作為歐拉技術委員會的專家,熊偉針對我的好奇,給出了他的解答:

什么是可編程內核?

“可編程內核”這個名詞是我最迷惑的 —— 內核難道不是代碼嗎?肯定是編程產生的,那這個“可編程”的意思是什么?

對此,熊偉首先解釋了“可編程內核”產生的背景,“現(xiàn)在的硬件迭代變化非常快,但是相對而言,軟件的變化就有點跟不上。比如說,芯片一般的生命周期就三年,你得花一年時間上傳到上游,半年后進入內核社區(qū),而從社區(qū)到用戶手里還有很長的周期。本質原因在于內核相對是固定的,一次開發(fā)完成以后,編譯成內核模塊后就相對固定了?!币虼耍琽penEuler 創(chuàng)新性地借鑒了  eBPF 的思想,將機制和框架分離,框架內置到內核,而實現(xiàn)的功能和策略只需要寫完以后注入到內核即可。

在實現(xiàn)上,主要是兩個方面:

  1. 把這種類似 eBPF 的機制擴展到內核的很多方面。比如說,擴展到內存、可調度性,讓它們都成為可變化的;
  2. 把內核中的驅動程序和內核主體的綁定解耦。

Linux 內核中的大部分代碼都是驅動程序。熊偉說,“我們有一種想法,是不是能把內核驅動也能抽離出來?,F(xiàn)在驅動程序跟 Linux 內核綁定得太死了,是不是能把內核驅動也變成可變化?”換言之,讓驅動程序和 Linux 內核版本的演進盡量減少關系,這樣的話,內核版本可以不斷演進,但驅動程序可以在幾個大版本內不斷復用,而不像現(xiàn)在內核稍微一變化,所有的內核驅動都得重新測試驗證甚至重新開發(fā)。

而關于“可編程內核”的開發(fā)計劃,熊偉稱,“從現(xiàn)在開始嘗試,到明年的下半年,我們期望能推出一個相對比較完整的框架。”

對此,我不禁想到,我們知道內核的各個部分都是模塊化的,不但可以在編譯內核時選擇和配置不同的模塊,而且可以在運行中根據需要動態(tài)加載。那么,“可編程內核”和內核的模塊化有什么關系和區(qū)別呢?

熊偉解釋稱,內核的模塊還不是“徹底可變化的”,這些內核模塊(KO)插入內核后是固定的,在運行過程中是不能變化的。而“可編程內核,是可以靈活動態(tài)進行調整的?!备M一步說,動態(tài)加載的不僅僅是模塊,更多的是策略,模塊加載進去以后可以動態(tài)地給它提供新的策略。比如說,可以根據運行的業(yè)務使用不同的內核調度器,來適應不同的需求,比如大數據和數據庫對內核所采用的調度器是有不同的需求的。

對于這樣的一種在內核底層機制層面進行的創(chuàng)新,而不僅僅是某些內核驅動程序或某個子系統(tǒng),我非常期待在后繼的幾個版本中看到它變得成熟和更多應用。

什么是分布式軟總線?

在最近的幾個版本中,openEuler 提到了一個“分布式軟總線”,這個名詞有的人可能在鴻蒙操作系統(tǒng)中見到過,這是否標志著歐拉和鴻蒙的進一步融合?

熊偉稱,openEuler 的“分布式軟總線”就是來自于鴻蒙操作系統(tǒng)?!败浛偩€”是鴻蒙的萬物互聯(lián)、自動發(fā)現(xiàn)、自動識別、自動認證、自動連通的基礎。平移過來以后,凡是基于 openEuler 的操作系統(tǒng)和所有基于鴻蒙的操作系統(tǒng)的設備之間就可以實現(xiàn)同樣的特性。在 openEuler 的上個版本中已經開始進行“分布式軟總線”的平移,而在此版本中已經基本完成。

“分布式軟總線”基礎設施的工作,相當于提供了一個“底座”,能在這個基礎上出現(xiàn)什么有趣的應用和場景,我們期待合作伙伴和用戶去探索。

什么是嵌入式硬實時?

我也看到了這次 openEuler 22.09 中提到了“嵌入式硬實時”,這是將 RTLinux 的部分加入到了 openEuler 中了么?

熊偉首先澄清了“硬實時”這個名詞:硬實時能力是個通用詞,實時到什么程度才能稱作“硬”,這個沒有什么明確的說法。實時一般分為三個層次:

第一層,就是標準的 Linux 內核,現(xiàn)在芯片處理能力是比較快的,只要達到一定的響應速度,其實一般的 Linux 可以滿足大部分實時的要求。

第二層,在內核中打上 RTLinux 補丁,相對于標準的 Linux 內核具有更強的實時性。

但是第三層,對實時性要求就會特別嚴格。比如汽車的剎車系統(tǒng),目前 Linux 是達不到相關的要求的,同時合規(guī)層面等也都面臨挑戰(zhàn),所以一般這類場景中還是選用專用的實時操作系統(tǒng)。對此,歐拉社區(qū)容納了多個不同的內核,不僅僅是 Linux 內核,還包括了 Zephyr 內核、一個華為貢獻的小型實時內核 uniproton 等。此外,歐拉也在和國內的實時性操作系統(tǒng) RT-Thread、翼輝等形成合作。

面對紛繁復雜的場景,社區(qū)目前正在做的一個方案是混合部署方案。比如說,一個芯片或一個 SOC 中有 8 個核心,可以分出兩個核做強實時性的工作,運行 RT-Thread、翼輝等這種實時內核,而另外六個核可以跑 openEuler 的 Linux 版本,兩者之間構建通信機制,兩者之間可以進行交互。實時部分做實時的工作,非實時部分充分利用 Linux 龐大的生態(tài),兩者再通過標準化的語義聯(lián)通起來,這樣就能兼顧各種場景的需求。熊偉稱,這個部分社區(qū)還正在開發(fā)當中,應該在年底到明年年初大家可以看到樣例。

對架構的支持

根據歐拉社區(qū)披露的信息,openEuler 全版本支持 x86、ARM、申威、龍芯、RISC-V 五種架構,支持眾多的芯片廠商的多種芯片,多個硬件廠商發(fā)布的多款整機型號、板卡型號,支持網卡、RAID、FC、GPU&AI、DPU、SSD、安全卡七種類型的板卡,具備良好的兼容性。

對國產的龍芯和申威等架構的支持是應有之義。此外,隨著內核對樹莓派的支持,包括 openEuler 在內的各個 Linux 發(fā)行版也都紛紛提供了對最新的樹莓派板卡的支持。

此外, openEuler 對 RISC-V 的支持也引起了業(yè)界關注。RISC-V 被譽為硬件里的 Linux,因其開放性而廣受開源界的追捧。提及 RISC-V 支持,熊偉說,對于單板級的產品來講,RISC-V 的成熟度已經比較高,但對于邊緣計算以上的,比如說服務器、桌面,差距還是比較大。如果想在 RISC-V 上把歐拉操作系統(tǒng)的數千個軟件包都編譯過,這個本身就是一個很大挑戰(zhàn)。但編譯通過還只是第一步,第二步你得先能跑起來,第三步是要跑得好。第二步、第三步對于整個 Linux 產業(yè)線來講,熊偉覺得 RISC-V 還有比較長的路要走。

熊偉說,“我們在去年上半年和國內很多 RISC-V 廠商都有過溝通,還組織過相關的討論會等活動,現(xiàn)在的情況是大家先合力把技術準備工作做好,歡迎 RISC-V 相關廠商基于 openEuler 來開放相關產品”。

對應用場景的支持

什么是虛擬化混合部署,其意義何在?

前面我們在嵌入式硬實時部分提到一種虛擬化混合部署場景,熊偉就此做了進一步展開:對于未來的趨勢可以探討一下。以汽車為例,汽車上分為實時部分和非實時部分,汽車設計起初是分離式的,非實時部分和實時部分都是各走各的芯片,各走各的線路,但這樣成本就比較高,結合起來也比較復雜。未來可能會出現(xiàn)這種趨勢,這些功能都集中在一個板卡上,甚至一個 SOC 上,而 SOC 會分成不同的分區(qū),有實時控制的分區(qū),有非實時控制的分區(qū)。實時分區(qū)進行車輛控制,非實時分區(qū)負責車載娛樂系統(tǒng)。在很多場景上都會產生這種需求,其好處就是它的成本會降低,交互和互聯(lián)或者信息共享更加容易方便。openEuler 有幾種內核,會通過構建系統(tǒng)進行混合部署,根據不同的場景采用不同的內核。

所以,基于混合部署可能會催生出很多有趣的想象力,熊偉稱,今年年底可以推出混合部署的一個原型,明年有望變得相對比較成熟。

對云計算/服務器場景的支持

對于云計算和服務器場景的支持,除了對英特爾最新硬件的支持之外,openEuler 還在云原生、混合部署方面做了較多工作,比如離線/在線的混合部署,增強了資源利用率。熊偉稱,云以及云原生方向是 openEuler 的發(fā)力重點。

此外,熊偉還提到了一個令我頗感興趣的東西,即一個新的初始化系統(tǒng)。我們知道,Linux 最初的初始化系統(tǒng),比如 sysVinit,已經基本上被 systemd 所取代。雖然 systemd 也帶來很多新的進步,但是其也因不透明、龐雜、大一統(tǒng)等有違 UNIX 傳統(tǒng)思維的做法而廣受詬病。因而,歐拉社區(qū)也在開發(fā)一個新的初始化系統(tǒng) SysMaster,它是一個使用 Rust 開發(fā)的輕量級初始化系統(tǒng),目前計劃首先應用在嵌入式和容器中。熊偉稱,今年年底將會發(fā)布原型系統(tǒng),并預期未來會支持更多的場景。

當然,在 openEuler 社區(qū)里,SysMaster 和 systemd 可以按照客戶的要求自行選擇,在特定場景下可以提供更好的性能、更輕量的資源占用。熊偉還就此表達了歐拉操作系統(tǒng)的設計理念,“沿這個脈絡出發(fā),openEuler 做的很多工作都是期望把操作系統(tǒng)的部件盡量簡化,而不是越做越復雜。做事太多對操作系統(tǒng)也是一種負面影響?!?/p>

可能有人會對技術圈重復造輪子感到不以為然,熊偉說,“我們是非常強烈地建議大家重復造輪子的。重復造輪子,造更好的輪子才能不斷推動技術的進步。比如說 OpenSSL 問題也比較多,如果誰用 Rust 或者其它語言重寫了 SSL 實現(xiàn),我們也非常樂意支持,會融合到我們的操作系統(tǒng)當中?!?/p>

歐拉為開發(fā)者提供的支持

從這次公布的數據來看,歐拉社區(qū)的開發(fā)者、貢獻者增長迅速。有 1265 名開發(fā)者參與了 openEuler 22.09 的版本貢獻,相較于上一個版本,參與版本貢獻的開發(fā)者數量新增 63%,是 openEuler 已發(fā)布的版本中開發(fā)者數量最多的一次。

對此,我和熊偉進行了討論,歐拉社區(qū)為開發(fā)者做了什么支持,才能有這么多的開發(fā)者、貢獻者參與貢獻。熊偉對這個話題表示了很大的興趣。他認為,如果對標 Debian、Fedora 等操作系統(tǒng)社區(qū)來看,在 openEuler 之前,甚至是 openEuler 早期,其實中國是沒有一個完整的操作系統(tǒng)社區(qū)的。

在開始階段,歐拉社區(qū)是以包括華為在內的各個廠商的力量結合在一起組成的,但坦白來講,開始階段還是人拉肩扛這種方式比較多,相當于堆人力。熊偉說,但是從今年開始,歐拉開始真正地把社區(qū)的一些綜合性的機制建立起來了,同時我們正在重構基礎設施。比如建立統(tǒng)一賬號,之前歐拉操作系統(tǒng)的開發(fā)需要在 Gitee 上注冊賬號進行,而如果是 GitHub 上的開發(fā)者就沒辦法參與。所以,歐拉首先要有一個統(tǒng)一賬號,把這個基礎設施變成分布式的,不會強制捆綁到某一個托管平臺。通過分布式平臺,使用統(tǒng)一的工具從不同的平臺上拉取到一個構建倉進行構建。

這樣,整個基礎設施做了脫胎換骨式的變革,把公共能力抽取出來,可以適配不同的平臺,你個人的開發(fā)行為和平臺的綁定就可以進行隔離了。這樣做有非常大的好處,不光是可以集合幾個廠商的力量,還可以讓更多的個人開發(fā)者參與進來。這使得整個社區(qū)的運作更加分布化,同時也容易走向國際化。熊偉說,基礎設施改造完成后,一些自動化的工具,包括一些看板、可視化、可量化的評估體系都健全了,社區(qū)后續(xù)走向國際化、社區(qū)規(guī)模的進一步擴大也就有了堅實的基礎了。

這一點我聽了以后特別受鼓舞,我一直在看著歐拉社區(qū)是怎么發(fā)展起來的,我認為這是下一步發(fā)展的重要動力。

說到這里,熊偉也說,“大家在社區(qū)里抱怨很多事情,其實我們都是聽得到的,技術委員會都聽得到。但是很多事情是比較復雜的,消耗的工作量很大,這需要有條不紊地在一點一點去改進。整個社區(qū)的演變,我們肯定是有清晰規(guī)劃的,一定會實現(xiàn),但是大家可能要稍微耐心點,因為它不可能一蹴而就?!?/p>

下一個版本的藍圖

之后,熊偉還談到了之后的版本藍圖。社區(qū)也在討論如何更好的使得上下游企業(yè),把社區(qū)的開發(fā)節(jié)奏和產品迭代速度相適應。

從目前的計劃來看,歐拉社區(qū)期望能在下一個 LTS 版本中真正實現(xiàn)全場景、全覆蓋,真正能夠從嵌入式、邊緣計算到服務器、云計算全部拉通。目前的全場景還是比較初級的,組件只是能通,從構建、從基礎設施角度來講還都是比較分離的組件。熊偉稱,“至少從我的角度來講,最重要的就是把整個東西都能變成一個大的體系,而不是分離性的系統(tǒng)?!?/p>

此外,歐拉還期望在下一個 LTS 版本上完成基礎設施的分布式化、國際化。這是從整個社區(qū)角度來講,歐拉最關心的兩件事。熊偉稱,運行基礎只要好了,產出一定不會差,但是如果運行基礎不好,還是原先按照堆人力,手動的太多,這個路是走不下去的,因為社區(qū)已經大到不可能走下去。

最后,熊偉還談到了關于基礎工作的觀點,“我們做的事不但困難、花費又大、成效又很緩慢。水面下的工作可能并不那么顯眼,但實際上它真正是我們這個產業(yè)最基礎的?!?/p>

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2011-06-20 06:29:53

ibmdwWeb

2010-03-02 13:50:22

Fedora Xen操

2013-08-23 11:14:46

操作系統(tǒng)專家移動操作系統(tǒng)

2023-05-23 10:32:59

智能汽車

2012-10-11 10:03:32

FedoraLinux

2009-12-16 08:43:36

Fedora 12系統(tǒng)

2010-03-04 16:32:33

Google Andr

2010-03-05 10:38:16

Android移動操作

2012-05-11 14:15:09

桌面操作系統(tǒng)最新排名

2012-05-29 10:53:22

FedoraLinux操作系統(tǒng)

2009-02-18 08:36:17

專家Windows優(yōu)化

2010-03-02 17:47:15

Android手機操作

2010-01-22 16:34:48

Windows7份額操作系統(tǒng)

2009-10-27 08:54:37

Linux操作系統(tǒng)Ubuntu 9.10

2010-04-20 23:05:04

2010-04-19 09:12:25

2010-04-20 10:21:56

2023-05-15 23:26:50

CSS動畫JavaScrip

2010-03-03 13:21:40

Android操作系統(tǒng)

2020-01-03 10:16:30

華為開發(fā)者開源
點贊
收藏

51CTO技術棧公眾號