大家好晚上我想知道如果在上下文切换期间新的上下文已经在其中一个寄存器中,或者它是否在内存中并且所有寄存器都被占用了会发生什么?
基本上,上下文切换是一种保存机器当前状态并用新机器替换它的方法。步骤模糊地像这样:
操作系统现在可以安全地做任何事情,因为保存了旧进程的瞬态,并且它的内存是安全的。也许它处理中断或执行系统调用。我们将跳过所有这些,只是做一个任务切换。
关键是操作系统负责保存状态;它适合CPU架构管理此过程。寄存器不是“忙”,因为任务切换过程会保存它们并恢复它们。失去控制然后重新获得它的过程并不知道它失去了控制;它的世界状态得以无缝保存和恢复。