在linux调度程序中,它跟踪当前休眠任务还是已终止任务?

在linux调度程序中,它跟踪当前休眠任务还是已终止任务?,linux,sleep,scheduler,Linux,Sleep,Scheduler,我知道当一个任务运行时,它会进入运行队列。当它睡眠时,它将从运行队列中退出队列。但是有睡眠任务的队列吗?我在源代码中没有看到这一点 即使我要创建这样一个队列,我怎么知道任务何时被终止,应该从睡眠队列中删除 谁能给我一个提示吗?谢谢,在Linux中,阻塞(休眠)任务以一种称为等待队列的结构排队。每个可以等待的事件(或对象)都存在一个等待队列 因此,没有单个等待队列(或每个核心),而是每个事件等待队列。内核代码显式地将任务放在等待队列上,并在特定事件到达时删除它们。例如,请参阅wait_event(

我知道当一个任务运行时,它会进入运行队列。当它睡眠时,它将从运行队列中退出队列。但是有睡眠任务的队列吗?我在源代码中没有看到这一点

即使我要创建这样一个队列,我怎么知道任务何时被终止,应该从睡眠队列中删除

谁能给我一个提示吗?谢谢,

在Linux中,阻塞(休眠)任务以一种称为等待队列的结构排队。每个可以等待的事件(或对象)都存在一个等待队列


因此,没有单个等待队列(或每个核心),而是每个事件等待队列。内核代码显式地将任务放在等待队列上,并在特定事件到达时删除它们。例如,请参阅wait_event()内核API。

换句话说,是否存在包含所有现有任务列表的每个内核结构?因此,根据我的研究,我认为答案是否定的。