0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony峰会回顾第16期 | 面向教学与科研的ChCore微内核

OpenHarmony TSC 2023-06-22 23:21 次阅读
演讲嘉宾 | 古金宇

回顾整理 | 廖 涛

排版校对 | 李萍萍5b239cbc-1096-11ee-9c1d-dac502259ad0.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

01

总体定位:教学与科研

ChCore是一个面向教学与科研的微内核操作系统。目前,国内高校的操作系统课程教学普遍以宏内核为主,微内核相关教学很少。微内核是上世纪就已经提出的理念,目前,成熟而广泛使用的微内核操作系统有QNX、MINIX等,受微内核架构影响的广为人知的操作系统有Windows、MacOS等。近年来,随着新场景、新应用的出现,微内核在学术界和工业界再次兴起,如谷歌Zircon、seL4等。

操作系统的发展经历了最初的专用型操作系统,到通用型操作系统,再到面向特定领域开发的定制化操作系统。目前,新硬件从摩尔定律走向Chiplet,从CPU中心到异构XPU,从自动化走向自主智能;新场景走向人机物融合,突出功能安全与信息安全;新应用面向端边云协同、万物互联,这些为领域操作系统研发带来新机遇。微内核能够为定制化操作系统开发提供良好助力,因此,微内核操作系统相关的教学与科研,具有积极的现实意义。

02

学术科研

2.1►►

新硬件带来的挑战

随着处理器从以CPU中心化走向XPU异构化,面向异构计算硬件和新的处理器架构,操作系统需要新的设计和抽象,存在异构实时性保证、异构算力最优化以及异构抽象统一化等挑战,而当前演化自嵌入式场景的实时操作系统内核,面向CPU中心和单节点,尚不具备上述能力。

5c029ea8-1096-11ee-9c1d-dac502259ad0.png

硬件异构化

面向上述挑战,ChCore开展如下探索:

  • 通过积木式内核设计破解硬件平台异构的碎片化挑战:通过模块间通信抽象提升可组合性,使内核组件实现积木化,并将内核架构设计为可配置类型,支持根据用户/开发者配置选择内核架构与组件。通过该方案能够在不同场景下在隔离与性能等不同维度上做出不同的选择;

5c36cac0-1096-11ee-9c1d-dac502259ad0.png

积木式内核设计

  • 通过设计分布式微内核契合计算硬件分布式特征:以CPU为中心的操作系统设计,异构加速器与设备之间没有直接通路,硬件协同需要CPU参与,造成时延与性能瓶颈。设计兼顾异构实时和异构算力操作系统统一抽象,面向异构分布化硬件提供统一抽象与接口,能够大幅度降低时延通信,充分使能硬件性能;

5c67aeb0-1096-11ee-9c1d-dac502259ad0.png

分布式微内核

  • 通过低时延通信机制破解组件间通信时延挑战:微内核架构相比于宏内核架构在隔离性方面具有优势,但微内核架构下组件间通信时延更高。在微内核架构下,基于软硬协同的方法设计kernel-bypass的极低时延进程间通信原语,使其无需特权级切换、无需数据拷贝。

5c85951a-1096-11ee-9c1d-dac502259ad0.png

进程间通信时延问题

2.2►►

新场景带来的挑战

功能安全与信息安全关系到生产安全与生命安全,日益受到人们的关注。在我国发布的《“十四五”机器人产业发展规划》中提到,加强核心技术攻关。聚焦国家战略和产业发展需求,突破机器人系统开发、操作系统等共性技术。推进人工智能5G、大数据、云计算等新技术融合应用,提高机器人智能化和网络化水平,强化功能安全、网络安全和数据安全。因此,新场景下如何保障操作系统功能安全与信息安全能力是一个重要挑战。目前,宏内核架构设计面临Fate Sharing问题,容错性低;微内核架构能够缓解但依然面临该问题。

基于该挑战,ChCore探索了以下几种应对方案:

  • 通过状态解耦提供面向可靠性需求提升错误隔离能力:传统宏内核操作系统/微内核系统服务设计存在Fate Sharing(缺乏隔离)和State Spilling(状态无序)问题。通过状态解耦能够将不同应用程序的所属状态进行解耦,并加以错误隔离机制,避免单点失效带来全局失效。

5cae5324-1096-11ee-9c1d-dac502259ad0.png

状态解耦机制

  • 通过事务化执行提供面向可靠性需求提升错误恢复能力:简单的单点重启会导致系统服务丢失状态。通过把事务(transaction)抽象引入系统服务执行中,以微内核进程间通信(IPC)为事务粒度,当出错时,通过状态回滚的方式保证系统服务状态更新的All-or-Nothing。基于该思路,通过透明地提供状态回滚机制和支持零依赖追踪开销的并发事务IPC等技术实现;

5cdd9f58-1096-11ee-9c1d-dac502259ad0.png

事务化执行

  • 通过构建可信执行环境内核赋能安全需求保护敏感应用:依托OpenHarmony技术俱乐部,可信执行环境内核基于ChCore微内核开发的鸿藩内核能够运行在ARM TrustZone安全世界中,并能够支撑安全敏感服务、安全应用的运行。

2.3►►

课程教学

上海交通大学软件学院负责的操作系统课程主要由陈海波、夏虞斌、古金宇三位老师设计,主要面向软件学院、IEEE/AI试点班以及OpenHarmony技术俱乐部的同学,通过多元课程内容,旨在帮助同学理解操作系统主要抽象的基本原理,使学生有能力初步实现操作系统的主要抽象。

5ce9fbc2-1096-11ee-9c1d-dac502259ad0.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

ChCore版本演进

此外,上海交通大学在微内核操作系统相关课程的教学上也更注重教学与科研之间的延续性。学生们在大三阶段,操作系统课程期间要求完成课程实验,帮助学生熟悉内核基础代码、微内核基本设计以及操作系统基本原理等知识;在大四阶段,本科生课程设计/毕业设计上涉及微内核图形化服务、微内核设备文件系统设计、微内核向多体系结构移植以及微内核虚拟化设计等课题,帮助学生将之前学习的基础知识应用于具体实践;在研究生阶段,研究课题包括基于微内核和安全硬件的可信执行环境、微内核模糊测试框架和符号执行、低时延微内核进程间通信设计、基于ChCore开发OpenHarmony安全世界内核等内容,带领学生进一步深入微内核操作系统的研究中来。

5d766d46-1096-11ee-9c1d-dac502259ad0.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

    文章

    6747

    浏览量

    123205
  • 微内核
    +关注

    关注

    0

    文章

    57

    浏览量

    13422
  • python
    +关注

    关注

    56

    文章

    4784

    浏览量

    84480
  • OpenHarmony
    +关注

    关注

    25

    文章

    3675

    浏览量

    16166
收藏 人收藏

    评论

    相关推荐

    【直播回顾OpenHarmony知识赋能六第五课—WiFi子系统

    太监ROM的制作与更新。OpenHarmony智能家居项目之控制面板界面设计回顾链接:今晚19:00知识赋能2直播丨OpenHarmony
    发表于 08-12 17:59

    【直播回顾OpenHarmony知识赋能第八:手把手教你实现涂鸦小游戏

    【直播回顾OpenHarmony知识赋能第八:手把手教你实现涂鸦小游戏OpenHarmony第八知识赋能直播已经在9月29日圆满落幕!
    发表于 10-10 15:58

    一图看懂OpenHarmony技术峰会

    更多热点文章阅读OS内核及视窗分论坛详解之OpenHarmony 3D显示支持应用模型开发指南上新介绍技术构筑万物智联,第一届OpenHarmony技术峰会圆满举行
    发表于 03-01 17:48

    TSC峰会回顾05 | 基于“内生需求”的信息安全专业实践教学

    首家成立OpenHarmony技术俱乐部的高校。武汉大学副教授、OpenHarmony技术俱乐部主任张立强在第一届OpenHarmony技术峰会上,分享了基于“内生需求”开展信安专业实
    发表于 04-19 15:05

    TSC峰会回顾02 | 上海交通大学OpenHarmony技术俱乐部建设

    内核+系统服务+系统框架的三层架构,具有良好的可配置性和扩展性。ChCore可以应用在教学科研工作中,支撑了高性能IPC设计、
    发表于 04-19 15:12

    议程抢鲜看|OpenHarmony技术峰会——OS内核及视窗分论坛

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:议程抢鲜看|OpenHarmony技术峰会——OS
    的头像 发表于 02-23 18:50 576次阅读

    金句回顾OpenHarmony技术峰会主论坛嘉宾演讲亮点

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:金句回顾OpenHarmony技术峰会
    的头像 发表于 03-11 16:30 438次阅读
    金句<b class='flag-5'>回顾</b>| <b class='flag-5'>OpenHarmony</b>技术<b class='flag-5'>峰会</b>主论坛嘉宾演讲亮点

    嘉宾金句|OpenHarmony技术峰会——OS内核及视窗分论坛

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:嘉宾金句|OpenHarmony技术峰会——OS
    的头像 发表于 03-11 16:30 432次阅读
    嘉宾金句|<b class='flag-5'>OpenHarmony</b>技术<b class='flag-5'>峰会</b>——OS<b class='flag-5'>内核</b>及视窗分论坛

    30s回顾OpenHarmony技术峰会精彩瞬间

    :30s回顾OpenHarmony技术峰会精彩瞬间 文章出处:【信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转
    的头像 发表于 03-11 16:30 424次阅读

    峰会回顾8 | OpenHarmony 分布式硬件关键技术

    演讲嘉宾 | 李   刚 回顾整理 | 廖   涛 排版校对 | 李萍萍       嘉宾简介 李刚,华为OpenHarmony技术专家,OpenHarmony分布式硬件技术负责人。主要负责
    的头像 发表于 05-05 15:46 1061次阅读
    <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> 分布式硬件关键技术

    峰会回顾10 | 开源图形驱动在OpenHarmony上的使用和落地

    科技核心成员,在OpenHarmony社区上担任开源图形驱动SIG、游戏SIG、兼容性工作组组长等职务。   内容来源 第一届开放原子开源基金会OpenHarmony技术峰会——OS内核
    的头像 发表于 05-15 09:30 1196次阅读
    <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>上的使用和落地

    峰会回顾11 | OpenHarmony兼容性设计与实践

    演讲嘉宾 | 纪   永 回顾整理 | 廖   涛 排版校对 | 李萍萍       嘉宾简介 纪永,华为终端测试技术专家、高级工程师,XTS仓Committer。技术领域:OpenHarmony
    的头像 发表于 06-02 08:41 844次阅读
    <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>兼容性设计与实践

    峰会回顾17 | 面向OpenHarmony终端的密码安全关键技术

    与智能研究院常务副院长。担任广东省普通高校密码应用创新工程技术研究中心主任。 内容来源 第一届开放原子开源基金会OpenHarmony技术峰会——安全及机密计算分论坛 正 文 内 容 终端设备的密码安全通过哪些关键技术保障,在OpenH
    的头像 发表于 07-06 08:42 1344次阅读
    <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>终端的密码安全关键技术

    峰会回顾31 | OpenHarmony生态共建:多种指令集架构芯片适配

    演讲嘉宾 | 连志安 回顾整理 | 廖   涛 排版校对 | 李萍萍 嘉宾简介 连志安,江苏润开鸿数字科技有限公司生态技术总监、OpenHarmony龙芯架构SIG组长、《物联网——嵌入式开发实战
    的头像 发表于 09-15 08:41 1338次阅读
    <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>生态共建:多种指令集架构芯片适配

    峰会回顾32 | OpenHarmony在高校教学科研中的应用

    演讲嘉宾 | 陈   曦 回顾整理 | 廖   涛 排版校对 | 李萍萍 嘉宾简介 陈曦,天津大学电气自动化与信息工程学院副教授。长期从事人工智能、物联网、电力系统相关教学科研工作。主持和参与
    的头像 发表于 10-10 10:27 944次阅读
    <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>中的应用