多处理器系统中调度函数的(执行)与单处理器系统中调度函数的(执行)有区别吗?
最佳答案
一些需要考虑的事情:
如果每个处理器运行自己的时钟,那么调度程序可以在不同的时间独立地在每个核心上调用,甚至设置为无滴答。
每个处理器都需要自己的运行队列。
调度器可以采取措施来平衡负载,并将任务从热处理器迁移到竞争较少的处理器。
更多信息可以在《专业Linux内核体系结构》一书的第2.8.1章中找到,或者通过检查Linux源代码kernel/sched/*并搜索由CONFIG_SMP marco控制的内核,这实际上是SMP版本和非SMP版本之间的差异。
关于linux - Linux内核:多处理器系统中的schedule()函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37012558/