(备战招聘)操作系统之进程的控制块(Process Control Block)

2019-07-14 11:27发布

顾名思义,进程的控制块,就是操作系统用于管理控制进程的一个数据结构,其记录了进程的各种属性,描述了进程动态变化的过程。
PCB是系统用来感知进程存在的唯一标志,一个进程对应着一个控制块PCB。
进程表:系统将所有进程PCB信息汇总在一起放入内存一个固定的区域,也就是所有进程PCB的集合,大小往往固定,其大小确定了一个操作系统最多支持多少个进程,也就是操作系统的并发度。
在Linux系统中输入ps命令或者top可以查看相关进程的信息。
在这里插入图片描述
在这里插入图片描述
如上图所示,PCB主要包括四个方面的信息
1、进程描述信息(PID,UID)
2、进程控制信息(priority)
3、所拥有的资源和使用情况
4、Cpu现场信息 进程描述信息:
进程标识符(Process ID),唯一通常为整数
进程名,通常基于可执行文件名,不唯一
用户标识符(User ID),记录创建进程的用户
进程组关系,记录该进程的父进程、子进程等关系
进程控制信息:
当前状态
优先级(priority)
代码执行入口地址
程序的磁盘地址
运行统计信息(执行时间、页面调度)
进程间同步和通信
进程的队列指针
进程的消息队列指针
所拥有的资源和使用情况:
虚拟地址空间状况
打开文件列表
CPU现场信息:
(进程运行的时候,操作系统需要保存的硬件执行状态信息)
寄存器值(通用寄存器、程序计数器PC、程序状态字PSW、栈指针)
指向该进程页表的指针 实际上,不同操作系统进程控制块的名称和具体信息会有所不同,但基础就是如上述概述,希望大家明白这些概念。