赞
踩
操作系统为每个进程都维护了一个pcb, 用于保存该进程的有关的各种状态信息
一个进程存在则必定会有一个pcb, pcb是进程存在的唯一的标志, 如果进程消失, 则对应pcb也随之消失
操作系统用pcb来描述进程的基本情况以及运行变化过程
PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。
作用是使一个在 多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程 并发执行的进程。
OS是根据PCB对并发执行的进程进行控制和管理的。
同一状态的进程其pcb连成一个链表, 多个状态对应多个不同的链表
如 : 就绪链表, 阻塞链表, 运行链表
同一个状态的进程归入一个index表, 由index指向pcb , 多个状态对应多个不同的index表
question : 每个进程都对应一个pcb, 那么pcb会存放到哪里呢?
最开始我认为pcb是存放在磁盘上的, 当进程变成运行状态是被加载到内存, 随后被加载到寄存器中, 进程变为阻塞状态后从寄存器中移除, 再一次放到硬盘上
最后发现这种想法可能存在问题 : pcb应该一直存在内核态中, 无论进程是否运行还是阻塞, 直到进程结束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。