Process 处理器如何知道将进程切换为高优先级进程?

Process 处理器如何知道将进程切换为高优先级进程?,process,linux-kernel,operating-system,process-management,Process,Linux Kernel,Operating System,Process Management,我知道,进程调度器将替换当前由cpu处理的进程 具有高优先级进程。在任何时候,处理器只执行一个进程,在这种情况下,当cpu忙于执行低优先级进程时,调度程序正在运行以通知cpu高优先级进程 进程调度器是正在运行的操作系统的组件 负责决定当前运行的流程是否应 继续运行,如果没有,下一步应该运行哪个进程 为了帮助计划程序监视进程及其使用的CPU时间量,可编程间隔计时器会定期中断处理器(通常为每秒50或60次)。此计时器在操作系统自身初始化时编程。在每次中断时,操作系统的调度程序开始运行,并决定是否应允

我知道,进程调度器将替换当前由cpu处理的进程 具有高优先级进程。在任何时候,处理器只执行一个进程,在这种情况下,当cpu忙于执行低优先级进程时,调度程序正在运行以通知cpu高优先级进程

进程调度器是正在运行的操作系统的组件 负责决定当前运行的流程是否应 继续运行,如果没有,下一步应该运行哪个进程

为了帮助计划程序监视进程及其使用的CPU时间量,
可编程间隔计时器会定期中断处理器(通常为每秒50或60次)
。此计时器在操作系统自身初始化时编程。在每次中断时,操作系统的调度程序开始运行,并决定是否应允许当前正在运行的进程继续运行,或者是否应暂停该进程并允许另一个就绪进程运行。这是用于抢占式调度的机制

因此,基本上,进程调度器在相同的主内存中运行,
处于活动状态时
,但只有在被中断调用后才被激活。因此,它们并非总是在运行。


顺便说一句,这是一个很好的概念性问题。祝你的主题顺利。

当中断导致调度程序运行以决定下一步运行哪组线程时,高优先级线程/进程将抢占低优先级线程,调度器算法决定低优先级线程需要被高优先级线程替换

中断有两种味道:

  • 软件从已经运行的线程中断(系统调用)并更改线程的状态,例如,通过向另一个线程正在等待的事件、互斥体或信号量发送信号,从而使其准备运行

  • 硬件中断导致驱动程序运行,并且该驱动程序选择在退出时调用调度程序,因为I/O操作已完成或某个超时间隔已过期,需要更改正在运行的线程集(例如磁盘、NIC、KB、鼠标、计时器)


  • @shekharsuman-不要缠着海报接受你的答案,尤其是在答案只有几分钟的时候。@ChrisStratton抱歉!我正在删除我的评论。但是,事实上,我已经受够了堆栈溢出问题上未被接受和未被投票的答案。Stack Exchange Meta中也提到,请接受所有有效的正确答案并投票。
    虽然很抱歉,但如果我是唯一的回答者,这是我的习惯!我会试着处理这个问题。这是一个计时器中断,用来检查挂起的进程吗?@user2773010是的,这个计时器中断可以检查正在运行的进程或进程调度器将要调度的进程!