上下文切换是否涉及模式切换?我认为应该是这样,因为我思考这个问题的方式是,每当发生上下文切换时,它都会涉及到引用 PCB 来了解进程运行的任何已保存状态。由于 PCB 存储在内存中,并且只有内核可以访问内存,因此必须执行模式切换。我对吗?
PS:我不是在问模式切换是否涉及上下文切换。 (可能会也可能不会)
答案1
是的,上下文切换意味着模式切换,因为内核将执行从一个进程切换到另一个进程。上下文切换涉及恢复将恢复执行的进程的状态,包括内存映射、寄存器等,而这一切只能在内核模式下完成。
答案2
有一个没有模式切换的上下文切换:让我们看一下当前在 CPU 上运行的两个进程,每个进程都在处理系统调用,因此运行在特权模式下。现在,进程调度程序可能会决定在它们之间进行上下文切换。由于它们都运行在特权模式下,并且负责上下文切换的进程也运行在特权模式下,因此两个进程之间的上下文切换将不包括模式切换。