当前位置:   article > 正文

操作系统 -- pcb_进程的pcb放在哪里

进程的pcb放在哪里

进程控制块(PCB)

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

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

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

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

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

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

进程控制块中的信息

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

组织方式

  • 链表
  • 索引表

链表

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

索引表

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

在这里插入图片描述

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

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

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

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/333931
推荐阅读
相关标签
  

闽ICP备14008679号