linux - 如何访问系统中所有正在运行的队列?

标签 linux linux-kernel kernel scheduler

我正在学习调度程序,并进行各种修改只是为了了解数据结构的组织方式。现在我试图了解调度程序的运行队列是如何组织的。因此,给定一个进程,我想我可以找到它的运行队列。但我只想迭代所有正在运行的队列。我怎样才能做到这一点?

最佳答案

如果我错了,请纠正我。 每个处理器只有一个队列(它被组织为双链表)用于运行进程。但系统上可以有更多进程。一个任务可能在一个处理器上开始,然后调度程序切换上下文,或者该任务进入休眠状态并迁移到另一个处理器并在那里完成其工作。

为了查看处理器上的任务,可以在简单的内核模块中使用 for_each 宏。

关于linux - 如何访问系统中所有正在运行的队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26927068/

相关文章:

linux - netfilter 钩子(Hook)没有检索完整的数据包

linux - 如何以编程方式禁用硬件预取?

linux - Mips Linux : Logging Kernel Panic into mtd partition

linux - du 和 size 报告目标文件的不同值

java - 使用 ANT_OPTS 影响目标 java 应用程序

linux - 在 Linux 内核中暂停代码执行

x86 - x86 上的加载溢出最高地址

linux - 删除 linux 文件。 -rwsrwsrwt(可能是rootkit)

Linux 命令行工具 : df and du

linux - 尽管已安装但找不到内核头文件