操作系统 -- pcb

进程控制块(PCB)

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

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

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

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

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

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

进程控制块中的信息

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

组织方式

  • 链表
  • 索引表

链表

同一状态的进程其pcb连成一个链表, 多个状态对应多个不同的链表
如 : 就绪链表, 阻塞链表, 运行链表
在这里插入图片描述

索引表

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

在这里插入图片描述

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

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

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

在这里插入图片描述

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值