首页 > 解决方案 > 为什么上下文没有保存在进程本身而不是PCB中?

问题描述

我已经读过,当上下文切换发生时,该特定进程的上下文将保存在进程控制块中。但我想知道为什么上下文不能保存在进程本身中,所以 CPU 只需要提醒自己必须恢复哪个进程,而不是将上下文复制到 PCB。

标签: operating-systemcpucontext-switchcontext-switching

解决方案


上下文保存在进程上下文块中。进程的状态由进程寄存器中的值定义。您的建议需要为每个进程设置一组单独的寄存器,这将使硬件设计成为一场噩梦。

CPU 只知道当前正在运行的进程。如果进程上下文块位于进程的用户地址空间中,则其值将不可访问。


推荐阅读