操作系统(进程控制块(PCB))

PCB(Process Control Block)的内容

  • PCB记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。

PCB的作用

  • 使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位, 一个能与其它进程并发执行的进程。或者说, OS 是根据 PCB 来对并发执行的进程进行控制和管理的,包括进程同步,通信,访问文件,进程状态(暂停等)。


    OS控制进程

OS对进程的管理

  • 系统创建进程时,随之创建一个PCB,进程结束时回收PCB。PCB经常被OS的多个模块读或修改(调度程序,资源分配程序,中断处理程序,监督和分析程序)。故PCB常驻于OS专门开辟的PCB区。

PCB中的信息

进程标识符

作用: 唯一标识一个进程,一个进程有两种标识符。

  • 内部标识符
    在操作系统中唯一,主要为了方便系统调用。
  • 外部标识符
    用户(进程)在访问该进程时使用。为了描述进程的亲缘关系,还应设置父进程标识及子进程标识,还可以设置用户标识。
处理机(CPU)状态

CPU的状态信息存储于CPU中的各种寄存器中,CPU在运行时,许多信息放在寄存器中,当CPU被中断时,所有的CPU信息应从寄存器保存到PCB中,以便该进程重新执行时,能从断点继续执行。

  • 寄存器种类
    • 通用寄存器
      又称用户可视寄存器,用户程序可以访问,暂存信息。
    • 指令计数器
      存放了要访问下一条指令的地址。
    • 程序状态字PSW
      含有状态信息,如条件码,执行方式,中断屏蔽标志
    • 用户栈指针
      每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。
进程调度信息
  • 进程状态
    进程的当前状态,作为进程调度和兑换时的依据。
  • 进程优先级
    CPU执行进程的优先程度。
  • 调度相关的其他信息
    与进程的调度算法相关,比如:进程已等待CPU的时间总和,进程已执行的时间总和。
  • 事件
    进程的阻塞原因
进程控制信息
  • 程序和数据的地址
    进程的程序和数据所在外存的首地址,进程再次调度时从PCB找出该信息。
  • 进程同步和通信机制
    实现进程同步和进程通信的必须机制,如消息队列指针,信号量。
  • 资源清单
    一张出CPU以外的,进程所需要的全部资源及已经分配到该进程的资源清单。
  • 链接指针
    本进程的PCB所在队列中的下一个进程PCB的首地址。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。