目录
目录README.md

赛题题目:基于Rust语言的运行态无关驱动框架设计

赛题说明:

组件化是现代操作系统开发的重要手段,尤其是目前基于Rust语言开发的新型操作系统内核利用Rust crate机制,构建操作系统无关的功能组件(如设备驱动),可面向不同应用需求快速构建不同类型的操作系统内核。目前的组件化实践主要是编译时按需编排内核组件,可运行在不同内核、不同特权态,但上述多样性在编译时确定,运行后无法按需调整。一个更为灵活的设计目标是运行时的运行态无关,即系统运行过程中可动态按需调整组件运行态,从而灵活适应用户对性能、安全等需求的灵活支撑。

赛题要求:

  • 设计/改进基于Rust语言的操作系统内核,支持组件化开发(组件自身设计为独立的Rust crate);设计运行态无关的驱动组件运行框架,支持动态切换驱动的运行态(即内核态或用户态)。具体要求如下:
  • 选择一款Rust语言实现的操作系统内核进行改进或者使用Rust语言新设计实现操作系统内核;
  • 实现设备驱动运行框架,驱动程序自身设计为独立的Rust crate(可复用开源代码但需清楚标注);
  • 驱动代码支持在用户态和内核态运行(需将运行态相关的代码抽象为Rust trait,驱动组件依赖上述Rust trait实现,自身不包含运行态相关的代码);
  • 操作系统内核调用驱动时根据不同的运行态实现相关trait;
  • 实验环境任选一款ARM64处理器平台,支持更多平台的可根据难度加分;
  • 设计测试用例,验证驱动功能。

评分标准:

功能完整性(50%):

  • 基于Rust内核完成驱动组件开发,包括但不限于SD卡、网卡、WIFI等设备(40分);
  • 设计运行态无关的驱动组件运行框架,支持驱动组件在用户态和内核态运行(60分)。

应用效果(20%):

  • 设计应用场景,展示运行态动态切换优势(100分)。

代码规范性(20%):

  • 代码结构清晰、可维护性高(80分);
  • 符合开源社区规范(20分)。

文档质量(10%):

  • 文档包含设计说明、部署说明、测试报告(50分);
  • 文档条例清晰、撰写规范(50分)。

赛题联系人:

马俊 majun@nudt.edu.cn

参考资料:

参赛资源支持:无

关于
27.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号