Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kernel 为什么在过程切换中会发生模式切换?_Kernel - Fatal编程技术网

Kernel 为什么在过程切换中会发生模式切换?

Kernel 为什么在过程切换中会发生模式切换?,kernel,Kernel,过程开关是否需要模式开关?如果是,原因是什么?进程切换是将一个进程换成另一个进程的行为 这是由内核(调度器)完成的,因为它是唯一应该具有该级别功能的代码。用户模式代码(运行在内核之外的东西)不应该具有将进程交换进或交换出的能力 因此,为了切换进程,您必须从用户模式切换到内核模式。在那里,进程切换完成,然后您将从内核模式切换回用户模式以继续运行新进程。进程切换是将一个进程换成另一个进程的行为 这是由内核(调度器)完成的,因为它是唯一应该具有该级别功能的代码。用户模式代码(运行在内核之外的东西)不应

过程开关
是否需要
模式开关
?如果是,原因是什么?

进程切换是将一个进程换成另一个进程的行为

这是由内核(调度器)完成的,因为它是唯一应该具有该级别功能的代码。用户模式代码(运行在内核之外的东西)不应该具有将进程交换进或交换出的能力


因此,为了切换进程,您必须从用户模式切换到内核模式。在那里,进程切换完成,然后您将从内核模式切换回用户模式以继续运行新进程。

进程切换是将一个进程换成另一个进程的行为

这是由内核(调度器)完成的,因为它是唯一应该具有该级别功能的代码。用户模式代码(运行在内核之外的东西)不应该具有将进程交换进或交换出的能力


因此,为了切换进程,您必须从用户模式切换到内核模式。在那里,进程切换完成,然后您将从内核模式切换回用户模式以继续运行新进程。

用户模式切换到内核模式是合乎逻辑的,但为什么会反过来呢?@Fahad,因此,新进程是在用户模式下执行的,在用户模式下,它只能损坏自身。用户模式到内核模式是合乎逻辑的,但为什么它会反过来呢?@Fahad,就是这样,新流程是在用户模式下执行的,在用户模式下,它只能破坏自身。这个问题措辞不当或不够详细。这个问题措辞不当或不够详细。