进程控制块的内容(process control block/PCB)
进程控制块(PCB)是进程的实例化。创建时,操作系统为每一个进程分配一个唯一标识符。该标识符p可以是指向PCB结构的指针,或是很多PCB的数组的索引。
PCB的具体实现和内容因操作系统而异,但以下是代表绝大多数现代操作系统的通用结构。
进程p的通用PCB
PCB区域 | 解释 |
---|---|
CPU_state | 当p停止时,由各种硬件寄存器(register)和状态标志(flag)组成的CPU当前状态保存在该区域中。当p恢复执行时,保存的信息被复制回CPU中。 |
process_state | 储存进程p当前的状态。如,正在运行,就绪或者堵塞。 |
memory | 描述分配给p的内存区域。在最简单的情况下,该区域会指向主储存器中。在使用虚拟内存的系统中,该区域也可以指向内存页或段的层次结构。 |
scheduling_information | 包含被调度器使用的信息,用来决定p将何时运行。该信息通常记录p的CPU时间(CPU time),系统中的真实时间(real time),优先级(priority)和任何可能的截止期限(deadlines)。 |
accounting_informaton | 跟踪计数和计费所需的信息。如,使用CPU的时间或内存量。 |
open_files | 跟踪当前由p打开的文件。 |
other_resources | 跟踪p |