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时间。