在进行上下文切换的行为被称为上下文切换时,是否必须存在模式切换,即从用户模式切换到内核模式?
在进行上下文切换的行为被称为上下文切换时,是否必须存在模式切换,即从用户模式切换到内核模式?
上下文切换仅在内核模式下发生。如果上下文切换发生在两个用户模式进程之间,第一个CPU必须转换到内核模式,执行上下文切换,然后返回到用户模式等等。 因此,在上下文切换中必须有一种模式切换。
模式切换 - 当单个进程模式从用户级别切换到内核级别或相反时发生。这是通过系统调用完成的。当进程调用系统调用时,进程模式将更改为内核模式,内核将代表用户进程开始操作。一旦系统调用返回,进程模式将从内核模式更改为用户模式。"模式"是与进程关联的属性。因此,模式切换是单个进程模式的切换。
上下文切换 - 当正在运行的进程当前状态被存储在某个位置,并选择一个新进程进行运行,其已经存储的状态被加载到CPU寄存器中时,就会发生上下文切换。现在,新进程开始运行。整个"上下文切换"过程由"进程调度程序"完成。