批处理调度的想法是在运行时期间不会对计划进行任何更改:计划对数据执行操作,并且该进程一直运行直到该过程完成。在“交互式”调度中,可以在另一个进程运行时启动新进程,因此将为该进程以及另一个进程分配时间。在批量调度中,在操作开始时确定调度。
优先级(交互式)调度示例:
进程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.