进程控制块(PCB)

  • 用来描述和控制进程的运行的一个数据结构——进程控制块PCB(Process Control Block),是进程实体的一部分,是操作系统中最重要的记录型数据结构。
    PCB是进程存在的唯一标志
    系统能且只能通过PCB对进程进行控制和调度
    PCB记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息
  • PCB中的信息
    1 进程标识符
    进程标识符用于唯一地标识一个进程。
    一个进程通常有两种标识符:
    内部标识符:在所有的操作系统中,都为每一个进程赋予了一个惟一的数字标识符,它通常是一个进程的序号。设置内部标识符主要是为了方便系统使用。
    外部标识符:它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。
    2 处理机状态
    处理机状态信息主要是由处理机的各种寄存器中的内容组成的。
    包括:① 通用寄存器;② 指令计数器;③ 程序状态字PSW;④ 用户栈指针。
    这些信息显然和进程相关,因此,进程一旦被中断,就必须把这些信息保存在PCB中,以便在恢复运行时能完全恢复中断前的状态。
    3 进程调度信息
    在PCB中还存放一些与进程调度和进程对换有关的信息,
    包括:
    ① 进程状态;
    ② 进程优先级;
    ③ 进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;
    ④ 事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。
    4 进程控制信息
    进程控制信息包括:
    ① 程序和数据的地址;
    ② 进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;
    ③ 资源清单,即一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;
    ④ 链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。
  • PCB的组织方式
    PCB的组织方式是指如何组织和管理多个PCB。
  1. 链接方式
      把具有同一状态的PCB,用其中的链接字链接成一个队列。这样,可以形成就绪队列、若干个阻塞队列和空白队列等。就绪队列常按进程优先级的高低排列,把优先级高的进程的PCB排在队列前面。根据阻塞原因的不同把处于阻塞状态的进程的PCB排成等待I/O操作完成的队列和等待分配内存的队列等。
    在这里插入图片描述
  2. 索引方式 
      系统根据所有进程的状态建立几张索引表。例如,就绪索引表、阻塞索引表等,并把各索引表在内存的首地址记录在内存的一些专用单元中。在每个索引表的表目中,记录具有相应状态的某个PCB在PCB表中的地址。
      在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_37711738/article/details/89496976