【问题标题】:What is "Interrupt" for transition of a process from running to ready?什么是进程从运行到就绪的转换的“中断”?
【发布时间】:2019-02-19 19:26:56
【问题描述】:

这是来自现代操作系统的进程状态图。当调度程序选择另一个进程时,会发生从运行到就绪的转换。

这是来自操作系统概念的进程状态图。 “中断”对于从运行到就绪的转换意味着什么?和上面的“调度器选择另一个进程”是一样的吗?

谢谢。

【问题讨论】:

  • 在操作系统术语中,系统调用和驱动程序的实际硬件中断都可能导致调度程序运行,从而更改在可用内核上运行的线程集。中断是进入操作系统内核代码的唯一途径,您必须尽一切努力理解这一基本知识。

标签: process operating-system interrupt


【解决方案1】:

根据操作系统实现多任务处理,进程从运行状态转换到就绪状态有两种方式:

  • 使用preemptive multitasking,操作系统使用定时器中断(系统中的每个内核或处理器都有一个定时器)定期中断当前正在运行的任何进程。然后,中断处理程序调用 OS 调度程序来确定是调度另一个进程还是继续运行同一进程。如果调度程序决定运行另一个进程,则当前进程将从运行状态转换为就绪状态。
  • 使用cooperative multitasking,操作系统不会对调度程序进程使用中断。相反,正在运行的进程应该自愿将控制权交给调度程序,以允许它调度另一个进程。因此,进程不会使用中断在运行状态和就绪状态之间转换,而只是自愿转换。

在我看来,《现代操作系统》一书中的图适用于这两种多任务处理方法,而《操作系统概念》中的图则专门针对抢先式多任务处理。尽管通过将“中断”这个词改为“产量”等更具包容性的词,那么另一个数字也适用于协作式多任务处理。

【讨论】:

    猜你喜欢
    • 2012-03-26
    • 1970-01-01
    • 2011-04-02
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多