如果cpu正在运行进程,谁在运行内核?
假设在两个进程环境中,一个进程被安排由内核执行,并且它需要一些在RAM中不可用的数据。 因此,CPU将指示内核有些东西不可用,并且该过程将被暂停。 然后,内核在通过CPU加载第二个执行过程并开始调查第二个内存位置(比如虚拟内存)中的数据并获取它之后,通过交换到当前不活动的内存数据将其放回主内存,以及将进程放回就绪队列中执行。
我们知道计算机系统中的所有东西都只能被CPU操纵,如果CPU忙于连续执行处理代码,那么谁在执行内核代码来执行内核完成的任务? 请让我知道我是否能够解释这种情况。
在任何时候,CPU(/ s)都会
如果你特别询问有关调度问题,那么
基本上,内核运行在用户进程之间!
现在清除?
词shash
内核运行的结果可能是硬件中断,或者是由进程调用来执行某些操作的结果。 在这两种情况下,当前正在执行的代码都会停止运行,直到内核完成其工作。
它与函数调用类似:当函数A调用函数B时,函数A必须等到函数B完成它的功能,然后将控制权返回给函数A.不需要多个CPU或任何类型的魔术做到这一点。
CPU不会连续执行处理代码。 CPU被中断以执行各种操作。 中断可能由于各种原因而发生:资源变得可用,前一个动作完成,或者只是一个计时器关闭。
我推荐这一系列视频以获得更深入的信息:http://academicearth.org/courses/operating-systems-and-system-programming
链接地址: http://www.djcxy.com/p/79821.html上一篇: who is running kernel if cpu is running processes?
下一篇: How to determine the hardware (CPU and RAM) on a machine?