【问题标题】:How does OS works - multitasking [closed]操作系统如何工作 - 多任务处理[关闭]
【发布时间】:2016-01-15 02:21:59
【问题描述】:

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

非常感谢您!

【问题讨论】:

    标签: process operating-system multitasking


    【解决方案1】:

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

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

    1. 运行进程 P 时定时器中断关闭。
    2. 定时器中断处理程序由 P 在内核模式下执行。
    3. 中断处理程序调用确定进程 Q 应该执行的调度程序。
    4. 调度程序执行更改保存进程上下文指令,保存 P 的状态。
    5. 调度程序执行加载进程上下文指令,加载 Q 的状态。一旦该指令完成执行 Q,Q 就是正在运行的进程。
    6. 中断处理程序退出,将控制权返回给上次执行的 Q。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2010-09-09
        • 1970-01-01
        • 2014-11-21
        • 2018-10-19
        • 2011-09-25
        • 1970-01-01
        • 2015-12-17
        • 2021-06-06
        • 1970-01-01
        相关资源
        最近更新 更多