您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>Linux/uClinux/Unix編程>

LINUX 進程源代碼分析

大?。?/span>75 人氣: 2010-02-09 需要積分:0
{$username}的空間

用戶級別:注冊會員

貢獻文章:

貢獻資料:

LINUX 進程源代碼分析

task_struct 數(shù)據(jù)結構
表示進程的數(shù)據(jù)結構是struct task_struct。task_struct 結構是進程實體的核心,
Linux 內(nèi)核通過對該結構的相關操作來控制進程,task_struct 結構是一個進程存在的唯一
標志,也就是通常說的進程控制塊(PCB, Process Control Block)。Linux 將所有task_struct
結構的指針存儲在task 數(shù)組中,數(shù)組的大小就是系統(tǒng)能容納的進程數(shù)目,默認為512。數(shù)
組的定義如下:
/* /include/linux/task.h */
#define NR_TASKS 512 /* task 數(shù)組的大小512 */
/* /kernel/sched.c */
struct task_struct *task[NR_TASKS]={&init_task,};
Linux 通過task 數(shù)組管理系統(tǒng)中所有的進程。系統(tǒng)定義了全局變量nr_tasks 記錄系統(tǒng)中進
程的數(shù)目。定義如下:
/* /kernel/fork.c */
int nr_tasks=0; /* 初始化為0 個進程在運行 */
附錄中列出了task_struct 結構。它相當大,但是可以從邏輯上劃分為以下幾部分:
·進程狀態(tài)
·進程調(diào)度信息

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?