设为首页 加入收藏

TOP

Linux内核学习笔记之进程进程的组织形式
2014-11-24 07:51:34 来源: 作者: 【 】 浏览:1
Tags:Linux 内核 学习 笔记 进程 组织 形式

1.进程标识符构成的哈希表


内核使用一个进程描述符来表示一个进程,因此通过进程描述符的地址来访问一个进程是最方便的. 这里主要是用哈希表来完成进程号到进程描述符地址之间的映射.


内核中设置了PIDTYPE_MAX个不同的哈希表(4个),这四个哈希表保存在数组pid_hash中,


static struct hlist_head *pid_hash[PIDTYPE_MAX];


pid_type是一个枚举内型。


enum pid_type


{


PIDTYPE_PID,//进程号哈希表


PIDTYPE_TGID,//线程组号哈希表


PIDTYPE_PGID,//进程组号哈希表


PIDTYPE_SID,//会话号表


PIDTYPE_MAX


};


在进程描述符中有一个成员变量 pids,定义如下:


struct pid pids[PIDTYPE_MAX];


struct pid{


int nr;


struct hlist_node pid_chain;


struct list_head pid_list;


};


pid_chain构成一个链表,表中的nr值不同,哈希函数将这些nr值映射到哈希表中的同一位置,这个链表就是主链。(nr值本身就是进程号)


pid_list将具有相同nr值的进程联系在一起构成从链。例如可以讲同一个线程组的所有线程联系起来。



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux内核学习笔记之进程管理 下一篇利用JavaAPI访问HDFS的文件

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·HyperText Transfer (2025-12-26 07:20:48)
·半小时搞懂 HTTP、HT (2025-12-26 07:20:42)
·CPython是什么?PyPy (2025-12-26 06:50:09)
·Python|如何安装seab (2025-12-26 06:50:06)
·python要学习数据分 (2025-12-26 06:50:03)