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時間。