进程的数据描述
进程控制块(Process Control Block,PCB)
• 进程控制块PCB是OS用于记录和刻画进程状态及环境信息的数据结构
• 借助PCB,OS可以全面管理进程的物理实体,刻画进程的执行现状,控制进程的执行
进程控制块 - 标识信息
用于存放唯一标识该进程的信息
•系统分配的标识号
•系统分配的进程组标识号
•用户定义的进程名
•用户定义的进程组名
进程控制块 - 现场信息
用于存放该进程运行时的处理器现场信息
•用户可见寄存器内容:数据寄存器、地址寄存器
•控制与状态寄存器内容:PC、IR、PSW
•栈指针内容:核心栈与用户栈指针
进程控制块 - 控制信息
用于存放与管理、调度进程相关的信息
• 调度相关信息:状态、等待事件/原因、优先级
• 进程组成信息:代码/数据地址、外存映像地址
• 队列指引元:进程队列指针、父子兄弟进程指针
• 通信相关信息:消息队列、信号量、锁
• 进程特权信息:如内存访问权限、处理器特权
• 处理器使用信息:占用的处理器、时间片、处理 器使用时间/已执行总时间、记账信息
• 资源清单信息:如正占有的资源、已使用的资源
进程映像,Process Image
•某一时刻进程的内容及其执行状态集合:
•进程控制块: 保存进程的标识信息、状态信息和控制信息
•进程程序块: 进程执行的程序空间
•进程数据块: 进程处理的数据空间,包括数据、处理函数的用户栈和可修改的程序
•核心栈: 进程在内核模式下运行时使用的堆栈,中断或系统过程使用
•进程映像是内存级的物理实体,又称为进程的内存映像
进程的内存映像示意图
进程上下文,Process context
•进程的执行需要环境支持,包括CPU现场和Cache中的执行信息
•OS中的进程物理实体和支持进程运行的环境合成进程上下文,包括以下:
•用户级上下文:用户程序块/用户数据区/ 用户栈/用户共享内存
•寄存器上下文:PSW/栈指针/通用寄存器
•系统级上下文:PCB/内存区表/核心栈
•进程上下文刻画了进程的执行情况