TASK_RUNNING进程状态

时间:2017-11-14 19:19:19

标签: process linux-kernel

我正在阅读“Linux内核开发”。它有关于“TASK_RUNNING”的定义

“TASK_RUNNING - 进程可运行;它当前正在运行或在等待运行的队列中”。我的问题是为什么我们没有两个单独的状态用于“当前正在运行”和“在等待运行的runqueue上”。喜欢TASK__RUNNING和TASK_READYTORUN。

1)因为当我第一次看到单词“TASK_RUNNING”时,我认为它只是指一个正在运行的进程状态 2)更准确的定义可以避免许多麻烦

那么我们有充分的理由不这样做吗?

1 个答案:

答案 0 :(得分:1)

该过程可运行

从该领域的用户的角度来看,未来的州分离是没有意义的。

因为该状态的用户不与调度程序交互,所以知道某个进程是否已安排无用:在您获得该知识后,调度程序可能会立即更改该属性,因此您的知识变得无效。

至于名称TASK_RUNNING,只有Linux开发人员知道选择它的原因。这可能是历史原因,或者故意:“将流程视为正在运行。”