矽望泛在操作系统
  • 一个轻量化的Type 1 hypervisor hvisor;一个兼容Linux应用的轻量化库操作系统RuxOS;一组用Rust语言实现的操作系统基础构件(component)
讲师:芳梦
签到人数: 1
cover
  • 课程介绍
  • 学习视频(0)
  • 组队信息(0)
  • 晋级榜单(0)

矽望泛在操作系统训练营


矽望是一个开源社区,由一群系统软件爱好者自发形成,致力于探索和构建适合特定泛在应用场景的新型态操作系统。


在当前阶段,主要目标是针对实时非实时任务混合运行的边缘计算场景,如医疗设备、车辆控制、工业控制、无人系统等领域,面向非对称多处理器SoC(MCU, CPU, DSP等)新型硬件平台对现有操作系统管理机制带来的挑战,在操作系统架构和实现机制上尝试创新:


  • 在架构方面,现有宏内核存在系统复杂性高的问题,微内核存在性能差的问题,我们将借鉴separation kernel、unikernel等设计思想,探索新型态的操作系统架构,尝试新的应用运行和资源管理方式。


  • 在实现机制方面,现有操作系统主要采用C语言实现,C语言代码容易存在内存方面的缺陷。我们将用内存安全的Rust语言构建安全、高效、专用的新型态泛在操作系统。


为了实现上述目标,社区将主要聚焦下述项目:


  • 一个轻量化的Type 1 hypervisor hvisor,主要遵循separation kernel思想,主要功能是管理系统物理资源,将资源组织到各个分区(zone)中,通过严格分区保证各个分区在时间和空间上的严格隔离,从而可以同时支持各个分区的系统独立互不干扰运行。分区里部署运行的系统称为租户tenant,常以轻量虚拟机方式运行。常见的租户有标准Linux OS,Unikernel OS,Android OS,实时RTOS甚至裸机应用。通过Type 1 hypervisor的分区隔离,实时RTOS和非实时的Linux或Android虚拟机可以正常运行,满足各自的应用需求。separation kernel常见于面向高可靠高安全(safety)应用的操作系统,如PikeOS。 在目前设计中,zone0也称为根zone(root zone),承担系统管理任务,tenant 一般是简化版的Linux。zoneU一般承担高算力计算任务,tenant 可以是unikernel OS,或者Linux OS;承担实时计算任务的zoneR,tenant 一般是面向MCU的RTOS。


  • 一个兼容Linux应用的轻量化库操作系统RuxOS,主要遵循unikernel设计思想,考虑到边缘泛在计算场景下,应用通常数目有限且相对固定,因此将操作系统简化设计为只支持单应用,将内核功能封装为库,以系统调用的形式提供给应用,应用直接运行在内核态。这种库型态的操作系统应用性能会有极大提升,安全问题(security)主要交给底层的Type 1 hypervisor解决。库型态的操作系统需要良好的工具支持,以方便用户根据单一应用生成构造可运行的二进制镜像,如unikraft


  • 一组用Rust语言实现的操作系统基础构件(component),如文件系统、网络协议栈、内存管理器、消息通信机制等。基于这些构件可实现特定的库操作系统。


  • 对Hypervisor等关键系统进行形式化验证。


底层硬件方面,将面向非对称多处理器SoC(MCU, CPU, FPGA,GPU,NPU及DSP等ASIC)新型硬件平台。前期将基于QEMU,之后将基于物理开发板进行。


Simple Empty
暂无数据
Simple Empty
暂无数据
排名姓名学校分数最后提交时间链接
Simple Empty
暂无数据