与FCFS相比,我们什么时候更喜欢轮询,反之亦然?

har*_*hit 0 operating-system scheduling

我知道这取决于设计,但是有人问我这个问题,没有做任何假设。

Toj*_*oji 5

首先,这听起来像是一个家庭作业问题。如果是这样,我建议您自己研究。

通过FCFS,我假设您的意思是“先到先得”,并且如果我记得那是一个系统,其中按提供给调度程序的顺序执行流程以使其完成。

如果是这样,则基本准则是:如果希望允许长时间运行的进程在不干扰较短的进程的情况下执行,则使用轮询,其副作用是不能保证完成的顺序。如果系统中有多个进程,则循环调度会受到影响,因为往返过程较长,因此每个进程需要更长的时间才能完成。

如果确实需要保证一定的完成顺序,则FCFS是更好的选择,但长时间运行的进程可能会使系统停止运行。但是,每个过程都将得到系统的充分注意,并且可以在最快的时间内完成,因此可能是有好处的。

最后,它确实的确归结为不一定是设计,而是需要:我需要半同步执行还是需要按顺序执行?使进程花费更长的时间但进行同步计算是否对我有利?或者,如果一切都以最快的速度执行,我会变得更好吗?系统的需求决定了要使用的模型。

编辑:维基百科在这里对这些和其他简单的调度方法有很好的细分