From 5e8c2d4ef31a8c5826149e57b348ed095d85cfbc Mon Sep 17 00:00:00 2001 From: Yiyang Wu Date: Thu, 19 Dec 2024 22:45:43 +0800 Subject: [PATCH] fix(lab4): typo on scheduler docs Signed-off-by: Yiyang Wu --- Pages/Lab4/scheduler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Pages/Lab4/scheduler.md b/Pages/Lab4/scheduler.md index 6fc0a3ee..8580df66 100644 --- a/Pages/Lab4/scheduler.md +++ b/Pages/Lab4/scheduler.md @@ -100,7 +100,7 @@ ChCore启动的第一个用户态线程(执行`user/system-services/system-ser ChCore记录每个线程所拥有的时间片(`thread->thread_ctx->sc->budget`),为了能够让线程之间轮转运行,我们应当在处理时钟中断时递减当前运行线程的时间片,并在当前运行线程的时间片耗尽时进行调度,选取新的线程运行。 > [!CODING] 练习 6 -> 请在`kernel/arch/aarch64/plat/raspi3/irq/irq.c`中完善`plat_handle_irq`函数,当中断号irq为INT_SRC_TIMER1(代表中断源为物理时钟)时调用`handle_timer_irq`并返回。 请在kernel/irq/irq.c中完善`handle_timer_irq`函数,递减当前运行线程的时间片budget,并调用sched函数触发调度。 请在`kernel/sched/policy_rr.c`中完善`rr_sched`函数,在将当前运行线程重新加入就绪队列之前,恢复其调度时间片budget为DEFAULT_BUDGET。 +> 请在`kernel/arch/aarch64/plat/raspi3/irq/irq.c`中完善`plat_handle_irq`函数,当中断号irq为INT_SRC_TIMER1(代表中断源为物理时钟)时调用`handle_timer_irq`并返回。 请在`kernel/irq/timer.c`中完善`handle_timer_irq`函数,递减当前运行线程的时间片budget,并调用sched函数触发调度。 请在`kernel/sched/policy_rr.c`中完善`rr_sched`函数,在将当前运行线程重新加入就绪队列之前,恢复其调度时间片budget为DEFAULT_BUDGET。 > [!SUCCESS] > 在完成填写之后,运行 ChCore 将可以成功进入用户态并打断创建的“自旋线程”让内核和主线程可以拿回CPU核心的控制权,你可以看到输出`"Hello, I am thread 3. I'm spinning."`和`“Thread 1 successfully regains the control!”`并通过 `Preemptive Scheduling` 测试点。