回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓簡介
古金宇,上海交通大學(xué)助理研究員、教育部領(lǐng)域操作系統(tǒng)工程研究中心內(nèi)核實(shí)驗(yàn)室主任、上海交通大學(xué)OpenHarmony技術(shù)俱樂部指導(dǎo)老師。主要研究方向?yàn)槲?nèi)核操作系統(tǒng)、TEE與操作系統(tǒng)安全、可擴(kuò)展同步原語。目前在并行與分布式系統(tǒng)研究所(IPADS)中負(fù)責(zé)主持研發(fā)微內(nèi)核操作系統(tǒng)ChCore。研究成果發(fā)表在系統(tǒng)領(lǐng)域重要學(xué)術(shù)會(huì)議與期刊,如OSDI、USENIX ATC、PPoPP、 USENIX Security、 IEEE TC等。參與《操作系統(tǒng):原理與實(shí)現(xiàn)》編著、 “操作系統(tǒng)”和“計(jì)算機(jī)系統(tǒng)基礎(chǔ)”課程建設(shè)。承擔(dān)青年基金、上海市科技創(chuàng)新行動(dòng)項(xiàng)目(課題負(fù)責(zé)人)、多項(xiàng)產(chǎn)學(xué)研合作項(xiàng)目。作為主要研究人員開發(fā)的移動(dòng)平臺安全操作系統(tǒng)內(nèi)核,獲得第十四屆“挑戰(zhàn)杯”全國特等獎(jiǎng)與全國大學(xué)生創(chuàng)業(yè)大賽全國銀獎(jiǎng)。
內(nèi)容來源
第一屆開放原子開源基金會(huì)OpenHarmony技術(shù)峰會(huì)——OS內(nèi)核及視窗分論壇
視頻回顧
正 文 內(nèi) 容
上海交通大學(xué)自研的微內(nèi)核操作系統(tǒng)ChCore在教學(xué)與科研方面有哪些探索和成果,與OpenHarmony如何有機(jī)結(jié)合?上海交通大學(xué)助理研究員、教育部領(lǐng)域操作系統(tǒng)工程研究中心內(nèi)核實(shí)驗(yàn)室主任、上海交通大學(xué)OpenHarmony技術(shù)俱樂部指導(dǎo)老師古金宇在第一屆OpenHarmony技術(shù)峰會(huì)上進(jìn)行了分享。

01?
總體定位:教學(xué)與科研
ChCore是一個(gè)面向教學(xué)與科研的微內(nèi)核操作系統(tǒng)。目前,國內(nèi)高校的操作系統(tǒng)課程教學(xué)普遍以宏內(nèi)核為主,微內(nèi)核相關(guān)教學(xué)很少。微內(nèi)核是上世紀(jì)就已經(jīng)提出的理念,目前,成熟而廣泛使用的微內(nèi)核操作系統(tǒng)有QNX、MINIX等,受微內(nèi)核架構(gòu)影響的廣為人知的操作系統(tǒng)有Windows、MacOS等。近年來,隨著新場景、新應(yīng)用的出現(xiàn),微內(nèi)核在學(xué)術(shù)界和工業(yè)界再次興起,如谷歌Zircon、seL4等。
操作系統(tǒng)的發(fā)展經(jīng)歷了最初的專用型操作系統(tǒng),到通用型操作系統(tǒng),再到面向特定領(lǐng)域開發(fā)的定制化操作系統(tǒng)。目前,新硬件從摩爾定律走向Chiplet,從CPU中心到異構(gòu)XPU,從自動(dòng)化走向自主智能;新場景走向人機(jī)物融合,突出功能安全與信息安全;新應(yīng)用面向端邊云協(xié)同、萬物互聯(lián),這些為領(lǐng)域操作系統(tǒng)研發(fā)帶來新機(jī)遇。微內(nèi)核能夠?yàn)槎ㄖ苹僮飨到y(tǒng)開發(fā)提供良好助力,因此,微內(nèi)核操作系統(tǒng)相關(guān)的教學(xué)與科研,具有積極的現(xiàn)實(shí)意義。
02?
學(xué)術(shù)科研
2.1??
新硬件帶來的挑戰(zhàn)
隨著處理器從以CPU中心化走向XPU異構(gòu)化,面向異構(gòu)計(jì)算硬件和新的處理器架構(gòu),操作系統(tǒng)需要新的設(shè)計(jì)和抽象,存在異構(gòu)實(shí)時(shí)性保證、異構(gòu)算力最優(yōu)化以及異構(gòu)抽象統(tǒng)一化等挑戰(zhàn),而當(dāng)前演化自嵌入式場景的實(shí)時(shí)操作系統(tǒng)內(nèi)核,面向CPU中心和單節(jié)點(diǎn),尚不具備上述能力。

硬件異構(gòu)化
面向上述挑戰(zhàn),ChCore開展如下探索:
-
通過積木式內(nèi)核設(shè)計(jì)破解硬件平臺異構(gòu)的碎片化挑戰(zhàn):通過模塊間通信抽象提升可組合性,使內(nèi)核組件實(shí)現(xiàn)積木化,并將內(nèi)核架構(gòu)設(shè)計(jì)為可配置類型,支持根據(jù)用戶/開發(fā)者配置選擇內(nèi)核架構(gòu)與組件。通過該方案能夠在不同場景下在隔離與性能等不同維度上做出不同的選擇;

積木式內(nèi)核設(shè)計(jì)
-
通過設(shè)計(jì)分布式微內(nèi)核契合計(jì)算硬件分布式特征:以CPU為中心的操作系統(tǒng)設(shè)計(jì),異構(gòu)加速器與設(shè)備之間沒有直接通路,硬件協(xié)同需要CPU參與,造成時(shí)延與性能瓶頸。設(shè)計(jì)兼顧異構(gòu)實(shí)時(shí)和異構(gòu)算力操作系統(tǒng)統(tǒng)一抽象,面向異構(gòu)分布化硬件提供統(tǒng)一抽象與接口,能夠大幅度降低時(shí)延通信,充分使能硬件性能;

分布式微內(nèi)核
-
通過低時(shí)延通信機(jī)制破解組件間通信時(shí)延挑戰(zhàn):微內(nèi)核架構(gòu)相比于宏內(nèi)核架構(gòu)在隔離性方面具有優(yōu)勢,但微內(nèi)核架構(gòu)下組件間通信時(shí)延更高。在微內(nèi)核架構(gòu)下,基于軟硬協(xié)同的方法設(shè)計(jì)kernel-bypass的極低時(shí)延進(jìn)程間通信原語,使其無需特權(quán)級切換、無需數(shù)據(jù)拷貝。

進(jìn)程間通信時(shí)延問題
2.2??
新場景帶來的挑戰(zhàn)
功能安全與信息安全關(guān)系到生產(chǎn)安全與生命安全,日益受到人們的關(guān)注。在我國發(fā)布的《“十四五”機(jī)器人產(chǎn)業(yè)發(fā)展規(guī)劃》中提到,加強(qiáng)核心技術(shù)攻關(guān)。聚焦國家戰(zhàn)略和產(chǎn)業(yè)發(fā)展需求,突破機(jī)器人系統(tǒng)開發(fā)、操作系統(tǒng)等共性技術(shù)。推進(jìn)人工智能、5G、大數(shù)據(jù)、云計(jì)算等新技術(shù)融合應(yīng)用,提高機(jī)器人智能化和網(wǎng)絡(luò)化水平,強(qiáng)化功能安全、網(wǎng)絡(luò)安全和數(shù)據(jù)安全。因此,新場景下如何保障操作系統(tǒng)功能安全與信息安全能力是一個(gè)重要挑戰(zhàn)。目前,宏內(nèi)核架構(gòu)設(shè)計(jì)面臨Fate Sharing問題,容錯(cuò)性低;微內(nèi)核架構(gòu)能夠緩解但依然面臨該問題。
基于該挑戰(zhàn),ChCore探索了以下幾種應(yīng)對方案:
-
通過狀態(tài)解耦提供面向可靠性需求提升錯(cuò)誤隔離能力:傳統(tǒng)宏內(nèi)核操作系統(tǒng)/微內(nèi)核系統(tǒng)服務(wù)設(shè)計(jì)存在Fate Sharing(缺乏隔離)和State Spilling(狀態(tài)無序)問題。通過狀態(tài)解耦能夠?qū)⒉煌瑧?yīng)用程序的所屬狀態(tài)進(jìn)行解耦,并加以錯(cuò)誤隔離機(jī)制,避免單點(diǎn)失效帶來全局失效。

狀態(tài)解耦機(jī)制
-
通過事務(wù)化執(zhí)行提供面向可靠性需求提升錯(cuò)誤恢復(fù)能力:簡單的單點(diǎn)重啟會(huì)導(dǎo)致系統(tǒng)服務(wù)丟失狀態(tài)。通過把事務(wù)(transaction)抽象引入系統(tǒng)服務(wù)執(zhí)行中,以微內(nèi)核進(jìn)程間通信(IPC)為事務(wù)粒度,當(dāng)出錯(cuò)時(shí),通過狀態(tài)回滾的方式保證系統(tǒng)服務(wù)狀態(tài)更新的All-or-Nothing。基于該思路,通過透明地提供狀態(tài)回滾機(jī)制和支持零依賴追蹤開銷的并發(fā)事務(wù)IPC等技術(shù)實(shí)現(xiàn);

事務(wù)化執(zhí)行
-
通過構(gòu)建可信執(zhí)行環(huán)境內(nèi)核賦能安全需求保護(hù)敏感應(yīng)用:依托OpenHarmony技術(shù)俱樂部,可信執(zhí)行環(huán)境內(nèi)核基于ChCore微內(nèi)核開發(fā)的鴻藩內(nèi)核能夠運(yùn)行在ARM TrustZone安全世界中,并能夠支撐安全敏感服務(wù)、安全應(yīng)用的運(yùn)行。
2.3??
課程教學(xué)
上海交通大學(xué)軟件學(xué)院負(fù)責(zé)的操作系統(tǒng)課程主要由陳海波、夏虞斌、古金宇三位老師設(shè)計(jì),主要面向軟件學(xué)院、IEEE/AI試點(diǎn)班以及OpenHarmony技術(shù)俱樂部的同學(xué),通過多元課程內(nèi)容,旨在幫助同學(xué)理解操作系統(tǒng)主要抽象的基本原理,使學(xué)生有能力初步實(shí)現(xiàn)操作系統(tǒng)的主要抽象。

上海交通大學(xué)課程實(shí)驗(yàn)ChCore-Lab概覽
在課程實(shí)驗(yàn)方面,2020年在ChCore主線版本1.0的基礎(chǔ)上,做大幅度減法、控制代碼量可閱讀(例如刪除libC、網(wǎng)絡(luò)棧等,裁剪功能與簡化實(shí)現(xiàn)),迭代到ChCore實(shí)驗(yàn)1.0并投入教學(xué)。相關(guān)的課程實(shí)驗(yàn)聚焦構(gòu)建操作系統(tǒng)基本原理,覆蓋內(nèi)存管理、進(jìn)程管理、用戶態(tài)內(nèi)存文件系統(tǒng)等基礎(chǔ)知識點(diǎn)。
2022年,迭代到ChCore實(shí)驗(yàn)版本2.0,與實(shí)驗(yàn)版本1.0相比,2.0版本的進(jìn)程管理成為用戶態(tài)系統(tǒng)服務(wù),采用虛擬文件系統(tǒng)兼容多文件系統(tǒng),覆蓋更多教材/課程中的知識點(diǎn)換頁、IO、futex等。

ChCore版本演進(jìn)
此外,上海交通大學(xué)在微內(nèi)核操作系統(tǒng)相關(guān)課程的教學(xué)上也更注重教學(xué)與科研之間的延續(xù)性。學(xué)生們在大三階段,操作系統(tǒng)課程期間要求完成課程實(shí)驗(yàn),幫助學(xué)生熟悉內(nèi)核基礎(chǔ)代碼、微內(nèi)核基本設(shè)計(jì)以及操作系統(tǒng)基本原理等知識;在大四階段,本科生課程設(shè)計(jì)/畢業(yè)設(shè)計(jì)上涉及微內(nèi)核圖形化服務(wù)、微內(nèi)核設(shè)備文件系統(tǒng)設(shè)計(jì)、微內(nèi)核向多體系結(jié)構(gòu)移植以及微內(nèi)核虛擬化設(shè)計(jì)等課題,幫助學(xué)生將之前學(xué)習(xí)的基礎(chǔ)知識應(yīng)用于具體實(shí)踐;在研究生階段,研究課題包括基于微內(nèi)核和安全硬件的可信執(zhí)行環(huán)境、微內(nèi)核模糊測試框架和符號執(zhí)行、低時(shí)延微內(nèi)核進(jìn)程間通信設(shè)計(jì)、基于ChCore開發(fā)OpenHarmony安全世界內(nèi)核等內(nèi)容,帶領(lǐng)學(xué)生進(jìn)一步深入微內(nèi)核操作系統(tǒng)的研究中來。

原型系統(tǒng)
03?
總結(jié)
目前,自主微內(nèi)核ChCore已經(jīng)初步形成微內(nèi)核、系統(tǒng)服務(wù)以及系統(tǒng)框架的三層架構(gòu),可配置性與擴(kuò)展性良好,支持C、C++、Python等語言的開發(fā),支持主要的POSIX接口,支持32/64位、ARMv8、X86-64/RISC-V、SPARC-V8等體系結(jié)構(gòu),且已經(jīng)提出了10倍性能提升的IPC設(shè)計(jì)和微內(nèi)核高可靠機(jī)制(ATC20、ICDCS21、ATC22等)。
未來,上海交通大學(xué)將依托OpenHarmony社區(qū)生態(tài)和OpenHarmony技術(shù)俱樂部,進(jìn)一步探索微內(nèi)核操作系統(tǒng)在教學(xué)以及科研上的發(fā)展,也歡迎大家關(guān)注和監(jiān)督上海交通大學(xué)OpenHarmony技術(shù)俱樂部后續(xù)的工作。
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7106瀏覽量
125077 -
微內(nèi)核
+關(guān)注
關(guān)注
0文章
58瀏覽量
13604 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86331 -
OpenHarmony
+關(guān)注
關(guān)注
28文章
3838瀏覽量
18242
發(fā)布評論請先 登錄
【直播回顧】OpenHarmony知識賦能六期第五課—WiFi子系統(tǒng)
【直播回顧】OpenHarmony知識賦能第八期:手把手教你實(shí)現(xiàn)涂鴉小游戲
一圖看懂OpenHarmony技術(shù)峰會(huì)
TSC峰會(huì)回顧05 | 基于“內(nèi)生需求”的信息安全專業(yè)實(shí)踐教學(xué)
TSC峰會(huì)回顧02 | 上海交通大學(xué)OpenHarmony技術(shù)俱樂部建設(shè)
議程搶鮮看|OpenHarmony技術(shù)峰會(huì)——OS內(nèi)核及視窗分論壇
金句回顧| OpenHarmony技術(shù)峰會(huì)主論壇嘉賓演講亮點(diǎn)

嘉賓金句|OpenHarmony技術(shù)峰會(huì)——OS內(nèi)核及視窗分論壇

30s回顧OpenHarmony技術(shù)峰會(huì)精彩瞬間
峰會(huì)回顧第8期 | OpenHarmony 分布式硬件關(guān)鍵技術(shù)

峰會(huì)回顧第10期 | 開源圖形驅(qū)動(dòng)在OpenHarmony上的使用和落地

峰會(huì)回顧第11期 | OpenHarmony兼容性設(shè)計(jì)與實(shí)踐

峰會(huì)回顧第17期 | 面向OpenHarmony終端的密碼安全關(guān)鍵技術(shù)

峰會(huì)回顧第31期 | OpenHarmony生態(tài)共建:多種指令集架構(gòu)芯片適配

峰會(huì)回顧第32期 | OpenHarmony在高校教學(xué)科研中的應(yīng)用

評論