Operating system 调度算法在哪里运行?

Operating system 调度算法在哪里运行?,operating-system,job-scheduling,Operating System,Job Scheduling,我们看到了不同操作系统支持的调度算法列表 假设有两个进程P1和P2正在运行,调度算法是循环调度。现在P1正在处理器中运行,P1已完成其时间段。现在,调度算法必须进行上下文切换,将P1从处理器中取出,并将P2引入处理器 我想我所解释的概念是正确的 现在,我的问题是 调度算法本身就是一个过程!!让我们将调度算法命名为Ps 现在Ps的任务是将P1从处理器中取出,并将P2引入处理器。在这种情况下,Ps在哪里运行?Ps是否也使用相同的处理器?或者Ps可以运行的是一个特殊的处理器吗?调度算法不是一个进程,所

我们看到了不同操作系统支持的调度算法列表

假设有两个进程P1和P2正在运行,调度算法是循环调度。现在P1正在处理器中运行,P1已完成其时间段。现在,调度算法必须进行上下文切换,将P1从处理器中取出,并将P2引入处理器

我想我所解释的概念是正确的

现在,我的问题是

调度算法本身就是一个过程!!让我们将调度算法命名为Ps


现在Ps的任务是将P1从处理器中取出,并将P2引入处理器。在这种情况下,Ps在哪里运行?Ps是否也使用相同的处理器?或者Ps可以运行的是一个特殊的处理器吗?

调度算法不是一个进程,所以你的问题基于一个错误的假设。调度算法可以在任何进程中断的上下文中开始运行,通常是在内核上下文中。然后,它决定下一步在哪个进程上下文中运行,并切换到该上下文。一直以来,它基本上忽略了它开始运行时所处的任何进程上下文。

现代操作系统有两种或两种以上的操作模式,至少是内核和用户模式。每个进程都有自己的用户模式地址空间。所有进程共享相同的地址空间

内核模式地址空间只能在内核模式下访问

每当进程以内核模式执行时,操作系统都会运行。因为只有一个内核模式地址空间,所以在内核模式下执行哪个进程来运行操作系统并不重要

硬件定时器触发操作系统在内核模式下响应的中断。操作系统检查当前进程P1是否已超时。如果是这样,它会将上下文切换到p2。大多数切换通常在一条指令中完成


在这种情况下,处理器在P1中进入内核模式,在P2中返回用户模式。

这看起来像一个经典的大学作业问题。你读过你的课本吗?我投票结束这个问题,因为3。要求家庭作业帮助的问题必须包括到目前为止你为解决问题所做工作的总结,以及对你解决问题的困难的描述。