pid文件是负责生成,删除,回收PID;以及为进程任务task_struct关联和解除关联的作用。
一、PID自身的维护
(1)生成pid
经过如下步骤:
(1-1)在pid_cachep(此内存缓冲区在系统初始化的时候分配)上取一块大小是struct pid的内存。
(1-2)通过调用alloc_pidmap计算他的哈希键值
(1-3)初始化此进程之任务列表
(2)查找pid
(2-1)在此任务之哈希散列表对应之链表顺序比较查找pid对应之节点
(3)删除pid
(3-1)删除链表上之PID
(3-2)删除MAP
(3-3)RCU