From 058afd551761b9b0c7f4c86cbf25e17715a0e362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CLu?= Date: Mon, 6 Mar 2023 01:24:04 +0800 Subject: [PATCH] add additional exercises and uncomment classroom --- source/chapter0/1setup-devel-env.rst | 2 +- source/chapter3/5exercise.rst | 9 +++++---- source/chapter4/7exercise.rst | 26 ++++++++++++++++++++++---- source/chapter5/4exercise.rst | 16 +++++++++++++++- source/chapter6/5exercise.rst | 6 +++--- source/index.rst | 2 +- 6 files changed, 47 insertions(+), 14 deletions(-) diff --git a/source/chapter0/1setup-devel-env.rst b/source/chapter0/1setup-devel-env.rst index 81ea6d0..c7a0598 100644 --- a/source/chapter0/1setup-devel-env.rst +++ b/source/chapter0/1setup-devel-env.rst @@ -7,7 +7,7 @@ 本节我们将完成环境配置并成功运行 uCore-Tutorial-2023S 。整个流程分为下面几个部分: -- classroom配置 +.. - classroom配置 - 系统环境配置 - Riscv下 C 开发环境配置 - Qemu 模拟器安装 diff --git a/source/chapter3/5exercise.rst b/source/chapter3/5exercise.rst index e04f881..e050d54 100644 --- a/source/chapter3/5exercise.rst +++ b/source/chapter3/5exercise.rst @@ -73,10 +73,10 @@ ch3 中,我们的系统已经能够支持多个任务分时轮流运行,我 .. ch3问答作业:: -实验结果 -+++++++++++++++++++++++++++++++++++++++++ +.. 实验结果 + +++++++++++++++++++++++++++++++++++++++++ -本实验采用了github classroom的自动评分功能,完成实验提交(git push)后会触发自动测试,实验测试结果可以在在线统计中查看。 + 本实验采用了github classroom的自动评分功能,完成实验提交(git push)后会触发自动测试,实验测试结果可以在在线统计中查看。 问答作业 @@ -139,8 +139,9 @@ ch3 中,我们的系统已经能够支持多个任务分时轮流运行,我 ------------------------------- - 简单总结你实现的功能(200字以内,不要贴代码)。 - 完成问答题。 +- 推荐markdown文档格式。 - 加入 :doc:`/honorcode` 的内容。否则,你的提交将视作无效,本次实验的成绩将按“0”分计。 -- CI 网站提交,注明姓名学号,推荐markdown文档格式。 +- CI 网站提交,注明姓名学号。 - 注意目录要求,报告命名 ``lab1.md`` 或 ``lab1.pdf``,位于 ``reports`` 目录下。命名错误视作没有提交。后续实验同理。 - (optional) 你对本次实验设计及难度/工作量的看法,以及有哪些需要改进的地方,欢迎畅所欲言。 diff --git a/source/chapter4/7exercise.rst b/source/chapter4/7exercise.rst index a17034a..faaeca0 100644 --- a/source/chapter4/7exercise.rst +++ b/source/chapter4/7exercise.rst @@ -94,10 +94,10 @@ tips: 实验目录请参考 ch3,报告命名 lab2.md/pdf -实验结果 -+++++++++++++++++++++++++++++++++++++++++ +..实验结果 + +++++++++++++++++++++++++++++++++++++++++ -本实验采用了github classroom的自动评分功能,完成实验提交(git push)后会触发自动测试,实验测试结果可以在在线统计中查看。 + 本实验采用了github classroom的自动评分功能,完成实验提交(git push)后会触发自动测试,实验测试结果可以在在线统计中查看。 问答作业 ------------------------------------------------- @@ -140,5 +140,23 @@ tips: - 注意目录要求,报告命名 ``lab2.md``(或 pdf),位于 ``reports`` 目录下。命名错误视作没有提交。不需要删除 ``lab1.md``。后续实验同理。 - 简单总结本次实验你新添加的代码。 - 完成 ch4 问答作业。 +- 推荐markdown文档格式。 - 加入 :doc:`/honorcode` 的内容。否则,你的提交将视作无效,本次实验的成绩将按“0”分计。 -- (optional) 你对本次实验设计及难度/工作量的看法,以及有哪些需要改进的地方,欢迎畅所欲言。 \ No newline at end of file +- (optional) 你对本次实验设计及难度/工作量的看法,以及有哪些需要改进的地方,欢迎畅所欲言。 + + +选做题目 +-------------------------------------------------------- + +选作题目列表 + + - 惰性页面分配(Lazy page allocation) + - 局部页面置换算法:改进的Clock页面置换算法 + - 全局页面置换算法:工作集置换策略 + - 全局页面置换算法:缺页率置换策略 + +提交要求 + +- 实现代码(包括基本的注释) +- 设计与功能/性能测试分析文档,测试用例。 +- 鼓励形成可脱离OS独立存在的库,可以裸机测试或在用户态测试(比如easyfs那样) \ No newline at end of file diff --git a/source/chapter5/4exercise.rst b/source/chapter5/4exercise.rst index b980d7c..38d8ab3 100644 --- a/source/chapter5/4exercise.rst +++ b/source/chapter5/4exercise.rst @@ -93,7 +93,7 @@ lab3中我们引入了任务调度的概念,可以在不同任务之间切换 .. 本实验采用了github classroom的自动评分功能,完成实验提交(git push)后会触发自动测试,实验测试结果可以 `在线统计 _` 中查看。 -实验结果 +实验要求 +++++++++++++++++++++++++++++++++++++++++ * 实现分支:ch5。 @@ -153,3 +153,17 @@ stride 算法深入 - 推荐markdown文档格式。 - (optional) 你对本次实验设计及难度/工作量的看法,以及有哪些需要改进的地方,欢迎畅所欲言。 +选做题目 +-------------------------------------------------------- + +选作题目列表 + +- 相同页面共享(Same page sharing)fork时的Copy on Write +- 实现多种(>3种)调度算法:可动态提升/降低优先级的多级反馈队列、实时调度等 +- 多核支持与多核调度(支持进程迁移和多核模式执行应用程序,但在内核中没有抢占和多核支持) + +提交要求 + +- 实现代码(包括基本的注释) +- 设计与功能/性能测试分析文档,测试用例。 +- 鼓励形成可脱离OS独立存在的库,可以裸机测试或在用户态测试(比如easyfs那样) \ No newline at end of file diff --git a/source/chapter6/5exercise.rst b/source/chapter6/5exercise.rst index c078c82..6e615f2 100644 --- a/source/chapter6/5exercise.rst +++ b/source/chapter6/5exercise.rst @@ -97,10 +97,10 @@ Tips - os 和 nfs 的修改需要同步,只不过 nfs 比较简单,只需要初始化 link 计数为 1 就行(可以通过修改 ``ialloc`` 来实现)。 - unlink 有删除文件的语义,如果 link 计数为 0,需要删除 inode 和对应的数据块,为此你需要正确调用 ``ivalid`` 、 ``iupdate`` 、 ``iput`` (如果测试遇到bug了不妨再看看这句话),并取消 ``iput`` 中判断条件的注释。你可能需要修改 ``iput`` 注释中的变量名(如果你的计数变量不叫 nlink)。 -实验结果 -+++++++++++++++++++++++++++++++++++++++++ +.. 实验结果 + +++++++++++++++++++++++++++++++++++++++++ -本实验采用了github classroom的自动评分功能,完成实验提交(git push)后会触发自动测试,实验测试结果可以在在线统计中查看。 + 本实验采用了github classroom的自动评分功能,完成实验提交(git push)后会触发自动测试,实验测试结果可以在在线统计中查看。 问答作业 ---------------------------------------------------------- diff --git a/source/index.rst b/source/index.rst index 1d19529..6bd8b48 100644 --- a/source/index.rst +++ b/source/index.rst @@ -26,7 +26,7 @@ uCore-Tutorial-Guide 2023 Spring :caption: 附录 :hidden: - appendix/classroom_deployment.rst + .. appendix/classroom_deployment.rst appendix-b/index appendix-c/index appendix-d/index