unix内核源码剖析【2. 进程】

一、参考

Unix内核源码剖析

二、名词解释

TSS: time sharing system, 分时系统
APR: active page register, 活动页寄存器
PAR: page address register, 用于保存与各页物理地址的基地址有关的信息
PDR: page description register, 用于保存各页的块(以64字节为单位)数已经是否允许访问等信息,每一页最多可以被分配128个块(8KB)

三、正文

3.1 进程的概要

3.2 proc和user

进程的状态信息和控制信息等由proc结构体和user结构体管理,每个进程都有一个proc、user结构体的实例,proc结构体常驻内存,user结构体有可能被移至交互空间

image.png

进程图像包含两个部分,一部分是常驻内存图像,例如: proc[], 另一个部分是可交换图像(swappable image), 例如: PPDA, 数据区域,栈区域等,这一部分可以被交换到磁盘上,p_addr是指向进程的可交换图像在内存或者磁盘上的地址。

进程的状态:

image.png

进程的标志常量:

image.png

image.png

image.png