mirror of
https://github.com/rcore-os/rCore-Tutorial-v3.git
synced 2024-11-22 01:16:26 +04:00
.. | ||
.cargo | ||
src | ||
.gitignore | ||
build.py | ||
Cargo.toml | ||
Makefile | ||
README.md |
Tutorial 第三章测试用例 part2
在第三章第二阶段中,需要在第一阶段的基础上实现一个抢占式调度的分时多任务系统。在 src/bin
目录下,我们可以找到四个应用程序:
00power_3
01power_5
02power_7
03sleep
像第一阶段一样,它们也需要被加载到不同的物理地址处运行。
应用被设计为运行在用户模式,批处理系统应运行在监督模式,它们都直接访问物理内存。
这一阶段需要实现的系统调用:
sys_get_time
:获取系统当前的毫秒数,在应用03sleep
中使用,可以简单估计所有应用运行的总时间。
阅读应用程序代码可知,三个 power
应用分别计算一个质数的幂次对另一个大质数取模的余数,由于次数很高在一个时间片之内无法完成,而它们又不会使用 sys_yield
主动交出 CPU 使用权,因此只能由内核进行强制切换。