您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>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 数组中,数组的大小就是系统能容纳的进程数目,默认为512。数
组的定义如下:
/* /include/linux/task.h */
#define NR_TASKS 512 /* task 数组的大小512 */
/* /kernel/sched.c */
struct task_struct *task[NR_TASKS]={&init_task,};
Linux 通过task 数组管理系统中所有的进程。系统定义了全局变量nr_tasks 记录系统中进
程的数目。定义如下:
/* /kernel/fork.c */
int nr_tasks=0; /* 初始化为0 个进程在运行 */
附录中列出了task_struct 结构。它相当大,但是可以从逻辑上划分为以下几部分:
·进程状态
·进程调度信息

非常好我支持^.^

(1) 100%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!