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