一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

LINUX 進程源代碼分析

大小:75 人氣: 2010-02-09 需要積分:0
{$username}的空間

用戶級別:注冊會員

貢獻文章:

貢獻資料:

LINUX 進程源代碼分析

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

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

      發(fā)表評論

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

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

      ?