我正在学习调度程序,并且只是为了理解数据结构的组织方式而做各种黑客攻击。现在我试图了解调度程序的运行队列是如何组织的。所以给定一个过程我认为我可以找到它的运行队列。但我只想迭代所有正在运行的队列。我怎么能这样做?
答案 0 :(得分:0)
如果我错了,请纠正我。 每个处理器只有一个队列(它被组织为双链表)以运行进程。但是系统上可以有更多的进程。一个任务可以在一个处理器上开始,然后调度程序切换上下文或者此任务进入休眠状态并迁移到另一个处理器并在那里完成他们的工作。
为了查看处理器上的任务,可以在简单内核模块中使用 for_each 宏。