Process 操作系统如何工作-多任务

Process 操作系统如何工作-多任务,process,operating-system,multitasking,Process,Operating System,Multitasking,这可能是一个非常愚蠢的问题,但我正在学习操作系统是如何工作的,我感到困惑。如果操作系统通过从一个进程切换到另一个进程来执行多任务,那么操作系统本身呢?这也是一个过程,不是吗 提前非常感谢 操作系统有一个名为调度程序的组件,该组件执行应用程序和其他系统线程(任务)之间的切换功能。调度程序几乎总是操作系统内核映像的一部分,一旦引导加载程序将操作系统加载到内存中,该映像通常在处理器的专用硬件线程上运行 在调度程序释放一个要执行的任务后,它等待来自其中断控制器硬件的信号来告诉它何时抢占(停止)正在运行的

这可能是一个非常愚蠢的问题,但我正在学习操作系统是如何工作的,我感到困惑。如果操作系统通过从一个进程切换到另一个进程来执行多任务,那么操作系统本身呢?这也是一个过程,不是吗


提前非常感谢

操作系统有一个名为调度程序的组件,该组件执行应用程序和其他系统线程(任务)之间的切换功能。调度程序几乎总是操作系统内核映像的一部分,一旦引导加载程序将操作系统加载到内存中,该映像通常在处理器的专用硬件线程上运行


在调度程序释放一个要执行的任务后,它等待来自其中断控制器硬件的信号来告诉它何时抢占(停止)正在运行的任务并释放另一个要执行的任务。这种情况如何发生的细节取决于操作系统设计者选择实现的调度算法(例如循环调度、时间切片、最早截止日期优先等)。例如,具有时间切片内核的操作系统将使用来自硬件计时器的中断作为其调度程序的唤醒调用

操作系统有一个名为调度程序的组件,该组件执行应用程序和其他系统线程(任务)之间的切换功能。调度程序几乎总是操作系统内核映像的一部分,一旦引导加载程序将操作系统加载到内存中,该映像通常在处理器的专用硬件线程上运行


在调度程序释放一个要执行的任务后,它等待来自其中断控制器硬件的信号来告诉它何时抢占(停止)正在运行的任务并释放另一个要执行的任务。这种情况如何发生的细节取决于操作系统设计者选择实现的调度算法(例如循环调度、时间切片、最早截止日期优先等)。例如,具有时间切片内核的操作系统将使用来自硬件计时器的中断作为其调度程序的唤醒调用

操作系统内核通常不是进程,而是在运行进程时执行内核模式的代码

切换流程的一个顺序可能是:

  • 运行进程P时计时器中断关闭
  • 计时器中断处理程序在内核模式下由P执行
  • 中断处理程序调用确定进程Q应该执行的调度程序
  • 调度器执行更改保存进程上下文指令,保存P的状态
  • 调度器执行加载进程上下文指令,加载Q的状态。该指令完成后,Q即为正在运行的进程
  • 中断处理程序退出,将控制权返回到上次执行的Q

  • 操作系统内核通常不是进程,而是在运行进程时执行内核模式的代码

    切换流程的一个顺序可能是:

  • 运行进程P时计时器中断关闭
  • 计时器中断处理程序在内核模式下由P执行
  • 中断处理程序调用确定进程Q应该执行的调度程序
  • 调度器执行更改保存进程上下文指令,保存P的状态
  • 调度器执行加载进程上下文指令,加载Q的状态。该指令完成后,Q即为正在运行的进程
  • 中断处理程序退出,将控制权返回到上次执行的Q