您的位置:首页 > 其它

内核中的进程管理部分2-pidhash和链表

2017-09-06 09:54 211 查看
内核必须能从进程的pid导出对应的进程描述符指针

当然,前面我们说过,内核为我们维护了一个进程链表(所有进程描述符都链接成一种环形双向链表的形式管理),但如果根据pid字段顺序扫描进程链表,效率相当低效。为了快速查找,内核引入了4个散列表(哈希表)。为什么需要4种哈希表?因为进程描述符包含了表示不同类型pid的字段

冲突问题采用链接法来解决(可以参看我的其他博文)



如果根据线程组查找散列表,只能返回一个进程描述符,就是线程组领头进程的描述符,为了能够快速返回组中其他所有进程,内核就必须为每个线程组保留一个进程链表。在查找给定登录会话或进程组的进程时也会有同样情形。故结构如下



总结:

。。想写的时候再写吧,现在没心情
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: