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