1

我了解CPU调度算法分为

  1. 交互式 - 循环,优先调度
  2. 批处理调度 - FCFS,SJF

但我无法理解命名 Interactive 和 Batch Scheduling 背后的原因..?? 为什么像 RR 这样的算法叫做交互式,而像 FCFS 这样的算法叫做批量调度?

提前致谢...

4

2 回答 2

2

Batch Scheduling 的思想是在运行期间调度不会发生变化:一个进程被调度对数据进行操作,并一直运行到该进程完成。在“交互式”调度中,可以在另一个进程运行时启动一个新进程,因此将为该进程以及另一个进程分配时间。在批处理调度中,调度是在操作开始时确定的。

优先级(交互式)调度示例:

进程 A 具有高优先级,进程 B 具有低优先级。进程 A 一直运行,直到它需要用户的一些输入。当 A 等待时,CPU 给了一些时间来处理 B。一旦收集到 A 的输入,进程 B 就会被换出,并且由于进程 A 的优先级更高,它会被分配给 CPU。

批处理 (FCFS) 调度示例:

进程 A 和进程 B 是要调度的进程。进程 A 首先被分配给 CPU,因此在 A 完成运行之前,B 不会收到任何时间。即使 A 暂停用户输入,B 也不会运行(实际上浪费了等待输入时的 CPU 时间)。

当然,就像所有这些低级的东西一样,它并不完全那么简单:为了获得多任务的错觉,时间通常在进程之间分配,即使没有任何东西在等待 I/O。在优先级调度中,这可能意味着在两者都运行时给予 A 比 B 更多的时间片,以便 A 执行得更快。交互式调度和批处理调度都有其优点和缺点:虽然交互式调度为用户提供了更快的响应时间并且更“公平”地划分时间,但由于“上下文切换”需要多长时间(即时间)而产生开销处理器从处理进程 A 切换到进程 B。

于 2012-10-04T11:25:55.340 回答
1

交互式调度策略为每个进程分配一个时间片。一旦时间片结束,即使尚未终止,进程也会被交换。也可以说这种调度是抢占式的。相反,批处理调度策略是非抢占式的。一旦进程处于运行状态,它在终止之前不会改变状态。

于 2012-10-04T11:33:20.103 回答