1.2 进程描述符

从一个进程诞生到退出的时间里,内核的进程管理子系统执行了各种操作,从进程创建、分配CPU时间、事件通知到进程终止时销毁进程。

除了地址空间之外,一个进程在内存中还被分配了一个称为进程描述符的数据结构,内核用它来识别、管理和调度该进程。图1-4描述了内核中的进程地址空间及其进程描述符。

图1-4

在Linux中,一个进程描述符是<linux/sched.h>中定义的struct task_struct类型的一个实例,它是核心数据结构之一,包含一个进程所拥有的所有属性、标识的详细信息和资源分配条目。查看struct task_struct就像是窥探内核在管理和调度进程时所看到或所使用的内容。

由于任务结构体包含一系列广泛的数据元素,这些元素与不同的内核子系统的功能相关,因此在本章中我们将单独探讨所有元素的目的和范围。我们将介绍一些与进程管理相关的重要元素。