回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓簡介
古金宇,上海交通大學助理研究員、教育部領(lǐng)域操作系統(tǒng)工程研究中心內(nèi)核實驗室主任、上海交通大學OpenHarmony技術(shù)俱樂部指導老師。主要研究方向為微內(nèi)核操作系統(tǒng)、TEE與操作系統(tǒng)安全、可擴展同步原語。目前在并行與分布式系統(tǒng)研究所(IPADS)中負責主持研發(fā)微內(nèi)核操作系統(tǒng)ChCore。研究成果發(fā)表在系統(tǒng)領(lǐng)域重要學術(shù)會議與期刊,如OSDI、USENIX ATC、PPoPP、 USENIX Security、 IEEE TC等。參與《操作系統(tǒng):原理與實現(xiàn)》編著、 “操作系統(tǒng)”和“計算機系統(tǒng)基礎(chǔ)”課程建設(shè)。承擔青年基金、上海市科技創(chuàng)新行動項目(課題負責人)、多項產(chǎn)學研合作項目。作為主要研究人員開發(fā)的移動平臺安全操作系統(tǒng)內(nèi)核,獲得第十四屆“挑戰(zhàn)杯”全國特等獎與全國大學生創(chuàng)業(yè)大賽全國銀獎。
內(nèi)容來源
第一屆開放原子開源基金會OpenHarmony技術(shù)峰會——OS內(nèi)核及視窗分論壇
視頻回顧
正 文 內(nèi) 容
上海交通大學自研的微內(nèi)核操作系統(tǒng)ChCore在教學與科研方面有哪些探索和成果,與OpenHarmony如何有機結(jié)合?上海交通大學助理研究員、教育部領(lǐng)域操作系統(tǒng)工程研究中心內(nèi)核實驗室主任、上海交通大學OpenHarmony技術(shù)俱樂部指導老師古金宇在第一屆OpenHarmony技術(shù)峰會上進行了分享。
01?
總體定位:教學與科研
ChCore是一個面向教學與科研的微內(nèi)核操作系統(tǒng)。目前,國內(nèi)高校的操作系統(tǒng)課程教學普遍以宏內(nèi)核為主,微內(nèi)核相關(guān)教學很少。微內(nèi)核是上世紀就已經(jīng)提出的理念,目前,成熟而廣泛使用的微內(nèi)核操作系統(tǒng)有QNX、MINIX等,受微內(nèi)核架構(gòu)影響的廣為人知的操作系統(tǒng)有Windows、MacOS等。近年來,隨著新場景、新應用的出現(xiàn),微內(nèi)核在學術(shù)界和工業(yè)界再次興起,如谷歌Zircon、seL4等。
操作系統(tǒng)的發(fā)展經(jīng)歷了最初的專用型操作系統(tǒng),到通用型操作系統(tǒng),再到面向特定領(lǐng)域開發(fā)的定制化操作系統(tǒng)。目前,新硬件從摩爾定律走向Chiplet,從CPU中心到異構(gòu)XPU,從自動化走向自主智能;新場景走向人機物融合,突出功能安全與信息安全;新應用面向端邊云協(xié)同、萬物互聯(lián),這些為領(lǐng)域操作系統(tǒng)研發(fā)帶來新機遇。微內(nèi)核能夠為定制化操作系統(tǒng)開發(fā)提供良好助力,因此,微內(nèi)核操作系統(tǒng)相關(guān)的教學與科研,具有積極的現(xiàn)實意義。
02?
學術(shù)科研
2.1??
新硬件帶來的挑戰(zhàn)
隨著處理器從以CPU中心化走向XPU異構(gòu)化,面向異構(gòu)計算硬件和新的處理器架構(gòu),操作系統(tǒng)需要新的設(shè)計和抽象,存在異構(gòu)實時性保證、異構(gòu)算力最優(yōu)化以及異構(gòu)抽象統(tǒng)一化等挑戰(zhàn),而當前演化自嵌入式場景的實時操作系統(tǒng)內(nèi)核,面向CPU中心和單節(jié)點,尚不具備上述能力。
硬件異構(gòu)化
面向上述挑戰(zhàn),ChCore開展如下探索:
-
通過積木式內(nèi)核設(shè)計破解硬件平臺異構(gòu)的碎片化挑戰(zhàn):通過模塊間通信抽象提升可組合性,使內(nèi)核組件實現(xiàn)積木化,并將內(nèi)核架構(gòu)設(shè)計為可配置類型,支持根據(jù)用戶/開發(fā)者配置選擇內(nèi)核架構(gòu)與組件。通過該方案能夠在不同場景下在隔離與性能等不同維度上做出不同的選擇;
積木式內(nèi)核設(shè)計
-
通過設(shè)計分布式微內(nèi)核契合計算硬件分布式特征:以CPU為中心的操作系統(tǒng)設(shè)計,異構(gòu)加速器與設(shè)備之間沒有直接通路,硬件協(xié)同需要CPU參與,造成時延與性能瓶頸。設(shè)計兼顧異構(gòu)實時和異構(gòu)算力操作系統(tǒng)統(tǒng)一抽象,面向異構(gòu)分布化硬件提供統(tǒng)一抽象與接口,能夠大幅度降低時延通信,充分使能硬件性能;
分布式微內(nèi)核
-
通過低時延通信機制破解組件間通信時延挑戰(zhàn):微內(nèi)核架構(gòu)相比于宏內(nèi)核架構(gòu)在隔離性方面具有優(yōu)勢,但微內(nèi)核架構(gòu)下組件間通信時延更高。在微內(nèi)核架構(gòu)下,基于軟硬協(xié)同的方法設(shè)計kernel-bypass的極低時延進程間通信原語,使其無需特權(quán)級切換、無需數(shù)據(jù)拷貝。
進程間通信時延問題
2.2??
新場景帶來的挑戰(zhàn)
功能安全與信息安全關(guān)系到生產(chǎn)安全與生命安全,日益受到人們的關(guān)注。在我國發(fā)布的《“十四五”機器人產(chǎn)業(yè)發(fā)展規(guī)劃》中提到,加強核心技術(shù)攻關(guān)。聚焦國家戰(zhàn)略和產(chǎn)業(yè)發(fā)展需求,突破機器人系統(tǒng)開發(fā)、操作系統(tǒng)等共性技術(shù)。推進人工智能、5G、大數(shù)據(jù)、云計算等新技術(shù)融合應用,提高機器人智能化和網(wǎng)絡(luò)化水平,強化功能安全、網(wǎng)絡(luò)安全和數(shù)據(jù)安全。因此,新場景下如何保障操作系統(tǒng)功能安全與信息安全能力是一個重要挑戰(zhàn)。目前,宏內(nèi)核架構(gòu)設(shè)計面臨Fate Sharing問題,容錯性低;微內(nèi)核架構(gòu)能夠緩解但依然面臨該問題。
基于該挑戰(zhàn),ChCore探索了以下幾種應對方案:
-
通過狀態(tài)解耦提供面向可靠性需求提升錯誤隔離能力:傳統(tǒng)宏內(nèi)核操作系統(tǒng)/微內(nèi)核系統(tǒng)服務設(shè)計存在Fate Sharing(缺乏隔離)和State Spilling(狀態(tài)無序)問題。通過狀態(tài)解耦能夠?qū)⒉煌瑧贸绦虻乃鶎贍顟B(tài)進行解耦,并加以錯誤隔離機制,避免單點失效帶來全局失效。
狀態(tài)解耦機制
-
通過事務化執(zhí)行提供面向可靠性需求提升錯誤恢復能力:簡單的單點重啟會導致系統(tǒng)服務丟失狀態(tài)。通過把事務(transaction)抽象引入系統(tǒng)服務執(zhí)行中,以微內(nèi)核進程間通信(IPC)為事務粒度,當出錯時,通過狀態(tài)回滾的方式保證系統(tǒng)服務狀態(tài)更新的All-or-Nothing?;谠撍悸?,通過透明地提供狀態(tài)回滾機制和支持零依賴追蹤開銷的并發(fā)事務IPC等技術(shù)實現(xiàn);
事務化執(zhí)行
-
通過構(gòu)建可信執(zhí)行環(huán)境內(nèi)核賦能安全需求保護敏感應用:依托OpenHarmony技術(shù)俱樂部,可信執(zhí)行環(huán)境內(nèi)核基于ChCore微內(nèi)核開發(fā)的鴻藩內(nèi)核能夠運行在ARM TrustZone安全世界中,并能夠支撐安全敏感服務、安全應用的運行。
2.3??
課程教學
上海交通大學軟件學院負責的操作系統(tǒng)課程主要由陳海波、夏虞斌、古金宇三位老師設(shè)計,主要面向軟件學院、IEEE/AI試點班以及OpenHarmony技術(shù)俱樂部的同學,通過多元課程內(nèi)容,旨在幫助同學理解操作系統(tǒng)主要抽象的基本原理,使學生有能力初步實現(xiàn)操作系統(tǒng)的主要抽象。
上海交通大學課程實驗ChCore-Lab概覽
在課程實驗方面,2020年在ChCore主線版本1.0的基礎(chǔ)上,做大幅度減法、控制代碼量可閱讀(例如刪除libC、網(wǎng)絡(luò)棧等,裁剪功能與簡化實現(xiàn)),迭代到ChCore實驗1.0并投入教學。相關(guān)的課程實驗聚焦構(gòu)建操作系統(tǒng)基本原理,覆蓋內(nèi)存管理、進程管理、用戶態(tài)內(nèi)存文件系統(tǒng)等基礎(chǔ)知識點。
2022年,迭代到ChCore實驗版本2.0,與實驗版本1.0相比,2.0版本的進程管理成為用戶態(tài)系統(tǒng)服務,采用虛擬文件系統(tǒng)兼容多文件系統(tǒng),覆蓋更多教材/課程中的知識點換頁、IO、futex等。
ChCore版本演進
此外,上海交通大學在微內(nèi)核操作系統(tǒng)相關(guān)課程的教學上也更注重教學與科研之間的延續(xù)性。學生們在大三階段,操作系統(tǒng)課程期間要求完成課程實驗,幫助學生熟悉內(nèi)核基礎(chǔ)代碼、微內(nèi)核基本設(shè)計以及操作系統(tǒng)基本原理等知識;在大四階段,本科生課程設(shè)計/畢業(yè)設(shè)計上涉及微內(nèi)核圖形化服務、微內(nèi)核設(shè)備文件系統(tǒng)設(shè)計、微內(nèi)核向多體系結(jié)構(gòu)移植以及微內(nèi)核虛擬化設(shè)計等課題,幫助學生將之前學習的基礎(chǔ)知識應用于具體實踐;在研究生階段,研究課題包括基于微內(nèi)核和安全硬件的可信執(zhí)行環(huán)境、微內(nèi)核模糊測試框架和符號執(zhí)行、低時延微內(nèi)核進程間通信設(shè)計、基于ChCore開發(fā)OpenHarmony安全世界內(nèi)核等內(nèi)容,帶領(lǐng)學生進一步深入微內(nèi)核操作系統(tǒng)的研究中來。
原型系統(tǒng)
03?
總結(jié)
目前,自主微內(nèi)核ChCore已經(jīng)初步形成微內(nèi)核、系統(tǒng)服務以及系統(tǒng)框架的三層架構(gòu),可配置性與擴展性良好,支持C、C++、Python等語言的開發(fā),支持主要的POSIX接口,支持32/64位、ARMv8、X86-64/RISC-V、SPARC-V8等體系結(jié)構(gòu),且已經(jīng)提出了10倍性能提升的IPC設(shè)計和微內(nèi)核高可靠機制(ATC20、ICDCS21、ATC22等)。
未來,上海交通大學將依托OpenHarmony社區(qū)生態(tài)和OpenHarmony技術(shù)俱樂部,進一步探索微內(nèi)核操作系統(tǒng)在教學以及科研上的發(fā)展,也歡迎大家關(guān)注和監(jiān)督上海交通大學OpenHarmony技術(shù)俱樂部后續(xù)的工作。
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6862瀏覽量
123507 -
微內(nèi)核
+關(guān)注
關(guān)注
0文章
58瀏覽量
13433 -
python
+關(guān)注
關(guān)注
56文章
4801瀏覽量
84882 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3731瀏覽量
16436
發(fā)布評論請先 登錄
相關(guān)推薦
評論