我已经读过,当发生上下文切换时,该特定进程的上下文将保存在进程控制块中。但我想知道为什么上下文无法保存在进程本身中,因此CPU只需要提醒自己必须恢复哪个进程而不是将上下文复制到PCB。
上下文保存在Process CONTEXT Block中。进程的状态由进程寄存器中的值定义。你的建议是需要为每个过程设置一套单独的寄存器,这会使硬件设计成为一场噩梦。
CPU只知道当前正在运行的进程。如果进程上下文块位于进程的用户地址空间中,则其值将无法访问。