mirror of
https://github.com/LearningOS/rust-based-os-comp2022.git
synced 2026-05-05 20:11:05 +08:00
update guide:ch3-8:exercise
This commit is contained in:
@@ -43,7 +43,7 @@ ch3 中,我们的系统已经能够支持多个任务分时轮流运行,我
|
||||
实验要求
|
||||
+++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
- `lab1(os3)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os3-ref>`
|
||||
- `lab1(os3)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os3-ref>`_
|
||||
|
||||
- 实验目录要求
|
||||
|
||||
@@ -64,7 +64,7 @@ ch3 中,我们的系统已经能够支持多个任务分时轮流运行,我
|
||||
|
||||
CI 使用的测例与本地相同,测试中,user 文件夹及其它与构建相关的文件将被替换,请不要试图依靠硬编码通过测试。
|
||||
|
||||
默认情况下,makefile 仅编译基础测例 (``BASE=1``),即无需修改框架即可正常运行的测例。
|
||||
在 ``os3`` 目录下,默认情况下,makefile 仅编译基础测例 (``BASE=1``),即无需修改框架即可正常运行的测例。
|
||||
你需要在编译时指定 ``BASE=0`` 控制框架仅编译实验测例(在 os 目录执行 ``make run BASE=0``),
|
||||
或指定 ``BASE=2`` 控制框架同时编译基础测例和实验测例。
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
chapter4练习
|
||||
============================================
|
||||
|
||||
编程作业
|
||||
Lab2 编程作业
|
||||
---------------------------------------------
|
||||
|
||||
重写 sys_get_time 和 sys_task_info
|
||||
@@ -60,9 +60,9 @@ tips:
|
||||
实验要求
|
||||
++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
- 实现分支:ch4。
|
||||
- 实现 mmap 和 munmap 两个系统调用,通过所有测例。
|
||||
- 实验目录请参考 ch3,报告命名 lab2.md/pdf
|
||||
- `lab2(os4)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os4-ref>`_
|
||||
- 在 ``os4`` 目录下,实现 mmap 和 munmap 两个系统调用,通过所有测例。
|
||||
- 报告命名 lab2.md,位于 ``reports`` 目录下
|
||||
|
||||
TIPS:注意 port 参数的语义,它与内核定义的 MapPermission 有明显不同!
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
chapter5练习
|
||||
==============================================
|
||||
|
||||
编程作业
|
||||
Lab3 编程作业
|
||||
---------------------------------------------
|
||||
|
||||
进程创建
|
||||
@@ -74,11 +74,11 @@ BigStride 表示一个预先定义的大常数,则该调度方案为每个进
|
||||
|
||||
实验要求
|
||||
+++++++++++++++++++++++++++++++++++++++++++++
|
||||
- 实现分支:ch5。
|
||||
- 实验目录请参考 ch3。注意在reports中放入lab1-3的所有报告。
|
||||
- `lab3(os5)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os5-ref>`_
|
||||
- 实验目录在 ``os5`` 。注意在reports中放入lab1-3的所有报告。
|
||||
- 通过所有测例。
|
||||
|
||||
在 os 目录下 ``make run BASE=2`` 加载所有测例, ``ch5_usertest`` 打包了所有你需要通过的测例,
|
||||
在 os5 目录下 ``make run BASE=2`` 加载所有测例, ``ch5_usertest`` 打包了所有你需要通过的测例,
|
||||
你也可以通过修改这个文件调整本地测试的内容, 或者单独运行某测例来纠正特定的错误。 ``ch5_stride``
|
||||
检查 stride 调度算法是否满足公平性要求,六个子程序运行的次数应该大致与其优先级呈正比,测试通过标准是
|
||||
:math:`\max{\frac{runtimes}{prio}}/ \min{\frac{runtimes}{prio}} < 1.5`.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
chapter6练习
|
||||
================================================
|
||||
|
||||
编程作业
|
||||
Lab4 编程作业
|
||||
-------------------------------------------------
|
||||
|
||||
硬链接
|
||||
@@ -85,11 +85,11 @@ chapter6练习
|
||||
|
||||
实验要求
|
||||
+++++++++++++++++++++++++++++++++++++++++++++
|
||||
- 实现分支:ch6。
|
||||
- `lab4(os6)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os6-ref>`_
|
||||
- 实验目录要求不变。
|
||||
- 通过所有测例。
|
||||
|
||||
在 os 目录下 ``make run BASE=2`` 加载所有测例, ``ch6_usertest`` 打包了所有你需要通过的测例,你也可以通过修改这个文件调整本地测试的内容。
|
||||
在 ``os6`` 目录下 ``make run BASE=2`` 加载所有测例, ``ch6_usertest`` 打包了所有你需要通过的测例,你也可以通过修改这个文件调整本地测试的内容。
|
||||
|
||||
你的内核必须前向兼容,能通过前一章的所有测例。
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
chapter8 练习
|
||||
=======================================
|
||||
|
||||
编程作业
|
||||
Lab5 编程作业
|
||||
--------------------------------------
|
||||
|
||||
.. warning::
|
||||
|
||||
本次实验框架变动较大,且改动较为复杂,为降低同学们的工作量,本次实验不要求合并之前的实验内容,
|
||||
只需通过 ch8 的全部测例和其他章节的基础测例即可。你可以直接在实验框架的 ch8 分支上完成以下作业。
|
||||
只需通过 ch8 的全部测例和其他章节的基础测例即可。你可以参考 `lab5(os8)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os8-ref>`_ 上完成以下作业。
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -84,8 +84,8 @@ chapter8 练习
|
||||
实验要求
|
||||
+++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
- 完成分支: ch8。
|
||||
- 实验目录要求不变。
|
||||
- `lab5(os8)参考框架: <https://github.com/LearningOS/rust-based-os-comp2022/tree/main/os8-ref>`_
|
||||
- 实验目录在 ``os8`` 。
|
||||
- 通过所有测例。
|
||||
|
||||
问答作业
|
||||
|
||||
Reference in New Issue
Block a user