题目
(考研真题)请给出PCB的主要内容。描述当进程状态[1]发生转换(就绪一运行、运行一阻塞)时,OS需要使用/修改PCB的哪些内容?
(考研真题)请给出PCB的主要内容。描述当进程状态[1]发生转换(就绪一运行、运行一阻塞)时,OS需要使用/修改PCB的哪些内容?
题目解答
答案
PCB的主要内容包括:
进程标识符[3]:唯一标识一个进程。
进程状态:例如新创建、就绪、运行、等待、结束等。
程序计数器[4]:指向进程下一条即将执行的指令。
CPU寄存器[5]:包括累加器[6]、索引寄存器、堆栈指针等,用于保存当前被暂停进程的状态。
CPU调度信息:包括进程优先级[7]、调度队列指针、进程所需的最大CPU周期数等。
记忆体管理信息:如进程的基址、限址、页面表、段表等。
账号和统计信息:例如使用的CPU时间、时间限制、账号号码、进程号等。
I/O状态信息:包括I/O请求设备列表、分配的I/O设备等。
进程状态发生转换时,OS需要使用/修改PCB的哪些内容:
就绪→运行:
使用程序计数器来知道从哪开始执行。
恢复保存在PCB中的CPU寄存器的值。
更改进程状态为“运行”。
运行→阻塞:
保存程序计数器,以便知道进程被中断时正处于哪。
保存相关CPU寄存器的当前值。
更新进程状态为“阻塞”。
在实际操作系统的实现中,可能还有更多的信息需要在进程状态转换时被使用或修改,但上述内容是最基本的部分。