赛题题目:基于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
参考资料:
参赛资源支持:无
赛题题目:基于Rust语言的运行态无关驱动框架设计
赛题说明:
组件化是现代操作系统开发的重要手段,尤其是目前基于Rust语言开发的新型操作系统内核利用Rust crate机制,构建操作系统无关的功能组件(如设备驱动),可面向不同应用需求快速构建不同类型的操作系统内核。目前的组件化实践主要是编译时按需编排内核组件,可运行在不同内核、不同特权态,但上述多样性在编译时确定,运行后无法按需调整。一个更为灵活的设计目标是运行时的运行态无关,即系统运行过程中可动态按需调整组件运行态,从而灵活适应用户对性能、安全等需求的灵活支撑。
赛题要求:
评分标准:
功能完整性(50%):
应用效果(20%):
代码规范性(20%):
文档质量(10%):
赛题联系人:
马俊 majun@nudt.edu.cn
参考资料:
参赛资源支持:无