mirror of
https://github.com/rcore-os/rCore.git
synced 2024-11-22 16:16:16 +04:00
1.8 KiB
1.8 KiB
2018操作系统专题训练
实验2:方案设计文档
计53 王润基 2015011279
实验目标
基于RustOS,参考sv6完成多核实现和优化。
分为以下三个子任务:
- 实现x86_64和RISCV下的多核启动和通信
- 拓展线程管理模块,使之支持多核调度
- 学习sv6进行多核优化
相关工作和实验方案
-
实现x86_64和RISCV下的多核启动和通信
x86_64下的多核启动已经完成,下面计划将其移植到Rust-OSDev项目的Bootloader中。
RISCV下尚未实现,这块第3组同学们有丰富经验。
这部分计划与第3组合作,在第4周内完成。
-
拓展线程管理模块,使之支持多核调度
参照xv6 / ucore SMP实现一个可工作的版本。
计划在第5周内完成。
-
学习sv6进行多核优化
已经完成sv6 for RV64在macOS上的复现。
正在研究代码,并准备日后与twd2交流。
计划在第6周移植一两个简单的实现到RustOS,并在之后视时间精力将其它部分逐渐移植过来。
参考论文:
- The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors:Commuter项目论文,如何定量测试OS的并行度。鉴于时间有限,将其应用到RustOS应该无法在本学期完成。
- RadixVM: Scalable Address Spaces for Multithreaded Applications:内存管理相关
- Scaling a file system to many cores using an operation log:文件系统相关