参考这篇文章:http://blog.csdn.net/shuizhilan/article/details/6642040
PCB(process control block),进程控制块,是我们学习操作系统后遇到的第一个数据结构描述,它是对系统的进程进行管理的重要依据,和进程管理相关的操作无一不用到PCB中的内容。一般情况下,PCB中包含以下内容:
(1)进程标识符(内部,外部)
(2)处理机的信息(通用寄存器,指令计数器,PSW,用户的栈指针)。
(3)进程调度信息(进程状态,进程的优先级,进程调度所需的其它信息,事件)
(4)进程控制信息(程序的数据的地址,资源清单,进程同步和通信机制,链接指针)
Linux的进程控制块为一个由结构task_struct所定义的数据结构,task_struct存
/include/ linux/sched.h 中,其中包括管理进程所需的各种信息。
在创建一个新进程时,系统在内存中申请一个空的task_struct区,即空闲PCB块,并填入所需信息。
Linux系统的PCB包括很多参数,每个PCB约占1KB多的内存空间。