Linux 可运行进程 Runnable Process Definition


From : http://www.linfo.org/runnable_process.html
译者:李秋豪

一个可运行的进程是指该进程的进程状态为TASK_RUNNING。

进程,也可被称为任务,是指一个程序运行的实例。

进程状态是进程描述符的一个区域,这个区域可以有5个可能的标志(或者说值),其中的一个就是TASK_RUNNING。

一个进程描述符是一个task_struct类型的数据结构,这个数据结构内保存了一个进程的所有相关信息。其中的进程状态区域描述了当前正在发生什么。

数据结构是一种结构化存储数据的方法,以此来更有效率的利用数据。task_struct就是系统用来描述进程的数据结构。

TASK_RUNNING状态意味着这个进程是可运行的——要么它正在运行,要么在runqueue中等待运行。对于用户空间 (指内存 上用户进程运行的空间) 正在运行的进程来说,它只可能是可运行的。对于 内核空间 (内存上内核运行并提供服务的空间)正在运行的进程来说,可运行状态也是可能的。

一个runqueue (运行队列)是 scheduler (调度器)里面的基本数据结构,它保存了可运行进程的列表,这些列表中的进程随后会被CPU执行。

scheduler (调度器)也被称为process scheduler (进程调度器),是内核的一部分,它会为不同的可运行进程分配CPU时间。

posted @ 2017-10-21 13:26 李秋豪 阅读(...) 评论(...) 编辑 收藏