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