内核中的进程管理部分1

来源:互联网 发布:小银子淘宝店铺怎么样 编辑:程序博客网 时间:2024/06/05 16:25

1.什么是list_head数据结构(用来组建双向循环链表)

可参见我的另一篇博文(点击此处)。为什么我们需要了解这个知识?因为内核对进程的管理很多都是用此结构的


2.进程链表

重点:内核使用进程链表把所有进程的描述符(task_struct)链接起来管理。进程链表的头是init_task描述符,它是所谓的swapper进程的进程描述符。内核提供了一套管理这个进程链表的接口。(可自行查询)。SET_LINKS和REMOVE_LINKS宏分别用于从进程链表中插入和删除一个进程描述符。 for_each_process扫描整个进程链表。


3.Task_RUNNING状态的进程链表

为了提高调度程序运行的速率,我们建立多个可运行进程链表,每种进程优先权对应一个不同的链表

内核单独定义了一个prio_array_t的数据结构来实现





原创粉丝点击