为什么上下文没有保存在流程本身而不是PCB中?

Why is the context not saved in the process itself instead of the PCB?

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

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

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