最近在看linux0.01的内核,一直不理解时间中断中发生任务调度时,核心栈的处理。后来想明白了。在_timer_interrupt计时中断中,通过do_timer进行进程调度。如果需要进行调度,即调用了switch_to的宏。此时CPU会切换到下一个新的进程。因为每一个进程都有自己的核心堆栈,_timer_interrupt中断的调用堆栈将保存在被替换掉的进程中,直到该进程再次被唤醒,被唤醒时,还是从_timer_interrupt中继续执行,_timer_interrupt的调用堆栈在此时才被退出。
定时中断中进程调度问题的理解
最新推荐文章于 2021-04-28 19:05:04 发布