【发布时间】:2015-05-12 14:43:29
【问题描述】:
问题 调度程序尝试在多个进程之间共享 CPU。二 进程 P1 和 P2 正在运行。 P1 做很多 I/O 操作,而 P2 做 很少。
解释如果简单的“循环”抢先式调度会发生什么 算法用于调度P1和P2。
我的尝试 据我了解,当调度程序能够被中断调用并将一个进程从运行状态移动到另一个进程,然后将另一个进程移动到运行状态时,它被称为是抢先式的。循环意味着每个进程 P1 和 P2 将获得相同的 CPU 时间,但是如果 P1 执行许多 I/O 操作而 P2 执行较少,那么 P1 不会获得更多的 CPU 时间,因为它有很多更多操作?例如,如果给定每个进程 1 秒,如果 P1 必须执行 50 次 I/O 操作(为简单起见,每次需要 1 秒),而 P2 必须执行 3 次 I/O 操作,我假设顺序是否正确go: P1,P2,P1,P2,P1,P2,P1,P1 (继续 P1 直到操作完成)。
这是我的理解,希望你们中的一些人能提供更多的见解。谢谢。
【问题讨论】:
标签: process operating-system scheduler round-robin