据我所知,CPU调度算法分为
但是我无法理解命名交互式和批量调度背后的原因。 为什么像RR这样的算法称为交互式,而像FCFS这样的算法称为批量调度?
提前致谢...
答案 0 :(得分:2)
批处理调度的思想是在运行时期间不会对计划进行任何更改:计划对数据执行操作,并且该进程将一直运行直到该过程完成。在“交互式”调度中,可以在另一个进程运行时启动新进程,因此将为该进程以及另一个进程分配时间。在批量计划中,计划在操作开始时确定。
优先级(交互式)调度示例:
进程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。
答案 1 :(得分:1)
交互式调度策略为每个进程分配时间片。一旦时间片结束,即使尚未终止,该过程也会被交换。也可以说这种调度是先发制人的。 相反,批处理调度策略是非抢占式的。一旦进程处于运行状态,它将不会更改状态,直到它终止。