From f64b8c7f6abbfdca211afc547108b0780c374f0d Mon Sep 17 00:00:00 2001 From: chenqiuhao1997 Date: Tue, 9 Oct 2018 21:42:57 +0800 Subject: [PATCH 1/2] Update proposal.md --- docs/OSTrain2018docs-g4/expr2/proposal.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/OSTrain2018docs-g4/expr2/proposal.md b/docs/OSTrain2018docs-g4/expr2/proposal.md index 75fc11a..94dd038 100755 --- a/docs/OSTrain2018docs-g4/expr2/proposal.md +++ b/docs/OSTrain2018docs-g4/expr2/proposal.md @@ -15,21 +15,21 @@ ucoreOS lab基于x86结构,主要由C语言完成编写。x86架构由于其 ### 3.1 完善现有Rust OS基础功能 现有Rust OS在riscv32环境下还存在一些bugs或unimplemented features,要想完成一个类似于ucore OS lab的教学实验框架,首先要把这些漏洞完善。现简单将每个lab目前待完善的地方和负责填坑的人列举如下: -**lab1:**主要涉及实验框架的编译、调试,OS bootloader启动过程。现有实验框架已经完成,不需要完善。 +**lab1:** 主要涉及实验框架的编译、调试,OS bootloader启动过程。现有实验框架已经完成,不需要完善。 -**lab2:**主要涉及物理内存管理,由于riscv32结构的物理内存管理仅通过一个二级页表来实现,不像x86架构下还需要兼容段表(虽然最终只是一个自映射),因此这部分比原本的ucore OS lab会更简洁、易理解一些。另外RustOS 的现有物理内存分配算法是通过线段树实现的,且相较原本的内存分配算法复用性更好。本分内容已经完成。 +**lab2:** 主要涉及物理内存管理,由于riscv32结构的物理内存管理仅通过一个二级页表来实现,不像x86架构下还需要兼容段表(虽然最终只是一个自映射),因此这部分比原本的ucore OS lab会更简洁、易理解一些。另外RustOS 的现有物理内存分配算法是通过线段树实现的,且相较原本的内存分配算法复用性更好。本分内容已经完成。 -**lab3:**该部分实验主要涉及虚存管理部分,**目前RUST OS仅针对x86_64结构实现了page fault的处理**,后续需要完成riscv32的page fault处理和虚存管理部分。 +**lab3:** 该部分实验主要涉及虚存管理部分,**目前RUST OS仅针对x86_64结构实现了page fault的处理**,后续需要完成riscv32的page fault处理和虚存管理部分。 -**lab4:**主要涉及内核线程创建和调度,现有框架中本部分内容已经完成,是否存在问题有待后续测试。 +**lab4:** 主要涉及内核线程创建和调度,现有框架中本部分内容已经完成,是否存在问题有待后续测试。 -**lab5:**主要涉及用户线程管理,此部分内容似乎同样已经完成,是否存在问题有待后续测试。**事实上之前测试中似乎又提到没有wait过的进程退出内存不会被回收,有待完善。** +**lab5:** 主要涉及用户线程管理,此部分内容似乎同样已经完成,是否存在问题有待后续测试。**事实上之前测试中似乎又提到没有wait过的进程退出内存不会被回收,有待完善。** -**lab6:**此部分主要涉及进程调度器的相关内容,现有框架中本部分内容已经完成,是否存在问题有待后续测试。 +**lab6:** 此部分主要涉及进程调度器的相关内容,现有框架中本部分内容已经完成,是否存在问题有待后续测试。 -**lab7:**主要涉及的是进程间的同步、共享资源的竞争,要求熟悉掌握信号量的原理,管程与条件变量的原理与实现,并用其来解决哲学家问题。**但是目前的rustOS-riscv中由于编译器对于原子指令的支持问题,导致相关功能未能实现**,需要寻求解决的办法来完善该实验。而且x86_64下该模块与kernel尚未分离,导致结构不够清晰需要进行调整。 +**lab7:** 主要涉及的是进程间的同步、共享资源的竞争,要求熟悉掌握信号量的原理,管程与条件变量的原理与实现,并用其来解决哲学家问题。**但是目前的rustOS-riscv中由于编译器对于原子指令的支持问题,导致相关功能未能实现**,需要寻求解决的办法来完善该实验。而且x86_64下该模块与kernel尚未分离,导致结构不够清晰需要进行调整。 -**lab8:**@朱书聪 +**lab8:** @朱书聪 其中前6个lab现有框架已经实现完成,主要涉及虚存管理和进程管理的部分内容有待完善,此部分计划由刘辰屹来完成。lab7在riscv32下的完善计划由陈秋昊来完成,lab8的完善计划由朱书聪来完成。上述为暂时的分工,实际分工视各部分难度大小再进行调整。 From dc95f9c6051c3933e1654b167664366c3d7a2a62 Mon Sep 17 00:00:00 2001 From: chenqiuhao1997 Date: Tue, 9 Oct 2018 21:43:44 +0800 Subject: [PATCH 2/2] Update proposal.md --- docs/OSTrain2018docs-g4/expr2/proposal.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/OSTrain2018docs-g4/expr2/proposal.md b/docs/OSTrain2018docs-g4/expr2/proposal.md index 94dd038..5baa9e7 100755 --- a/docs/OSTrain2018docs-g4/expr2/proposal.md +++ b/docs/OSTrain2018docs-g4/expr2/proposal.md @@ -46,4 +46,5 @@ ucoreOS lab基于x86结构,主要由C语言完成编写。x86架构由于其 ## 4 参考文献 ucore OS lab实验指导书:https://objectkuan.gitbooks.io/ucore-docs/content/index.html + 王润基同学的Rust OS开发文档:https://rucore.gitbook.io/rust-os-docs/