操作系统 -- pcb

目录

  • 进程控制块(PCB)
  • 进程控制块中的信息
  • 组织方式
    • 链表
    • 索引表

进程控制块(PCB)

操作系统为每个进程都维护了一个pcb, 用于保存该进程的有关的各种状态信息

一个进程存在则必定会有一个pcb, pcb是进程存在的唯一的标志, 如果进程消失, 则对应pcb也随之消失

操作系统用pcb来描述进程的基本情况以及运行变化过程

PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。

作用是使一个在 多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程 并发执行的进程。

OS是根据PCB对并发执行的进程进行控制和管理的。

进程控制块中的信息

  • 进程标识符(PID)
  • 上下文数据
  • 进程调度信息
  • 进程控制信息
  • I / O 状态信息

组织方式

  • 链表
  • 索引表

链表

同一状态的进程其pcb连成一个链表, 多个状态对应多个不同的链表
如 : 就绪链表, 阻塞链表, 运行链表
操作系统 -- pcb_第1张图片

索引表

同一个状态的进程归入一个index表, 由index指向pcb , 多个状态对应多个不同的index表

操作系统 -- pcb_第2张图片

question : 每个进程都对应一个pcb, 那么pcb会存放到哪里呢?

最开始我认为pcb是存放在磁盘上的, 当进程变成运行状态是被加载到内存, 随后被加载到寄存器中, 进程变为阻塞状态后从寄存器中移除, 再一次放到硬盘上

最后发现这种想法可能存在问题 : pcb应该一直存在内核态中, 无论进程是否运行还是阻塞, 直到进程结束

操作系统 -- pcb_第3张图片

你可能感兴趣的:(操作系统,链表,数据结构)