(一)进程描述符及任务结构
内核把进程的列表存放在叫任务队列的双向循环链表中。链表中的每一项都是task_struct(进程描述符或进程控制块)
每个进程在内核中都有一个进程控制块(PCB)存放进程的管理和控制信息,在32位机器上他大约有1.7KB。
task_struct包含以下内容:
(1)PID:又称进程标识符,每个进程都会被分配一个唯一的数字编号,用来区别其他进程,
ID为0调度进程(交换进程)1init进程,2页守护进程,
(2)状态:任务状态,退出代码,退出信号等。
(3)优先级:相对于其他进程的优先级。
(4)程序计数器:程序中即将被执行的下一条指令的地址。
(5)内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。
(6)上下文数据:进程执行时处理器的寄存器中的数据。
(7)I/O状态信息:包括显示的I/O请求,分配给进程的I/O设备和正在被进程使用的文件列表。
(8)记账信息:可能包括处理器时间总和,使用的时钟总数&#x