我正在学习调度程序,并进行各种修改只是为了了解数据结构的组织方式。现在我试图了解调度程序的运行队列是如何组织的。因此,给定一个进程,我想我可以找到它的运行队列。但我只想迭代所有正在运行的队列。我怎样才能做到这一点?
最佳答案
如果我错了,请纠正我。 每个处理器只有一个队列(它被组织为双链表)用于运行进程。但系统上可以有更多进程。一个任务可能在一个处理器上开始,然后调度程序切换上下文,或者该任务进入休眠状态并迁移到另一个处理器并在那里完成其工作。
为了查看处理器上的任务,可以在简单的内核模块中使用 for_each 宏。
关于linux - 如何访问系统中所有正在运行的队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26927068/