面试题答案
一键面试先来先服务(FCFS)调度算法
- 简述:按照进程到达就绪队列的先后顺序进行调度,先到达的进程先执行。
- 对系统响应时间的影响:对于长作业有利,因为一旦开始执行,就能一直执行到结束。但对于短作业不利,若前面有长作业,短作业需要等待很长时间才能执行,导致整体响应时间变长,尤其是在短作业较多的情况下,平均响应时间会显著增加。
短作业优先(SJF)调度算法
- 简述:从就绪队列中选择预计执行时间最短的进程优先执行。
- 对系统响应时间的影响:能使短作业快速得到处理,在作业平均长度较短时,可获得较低的平均响应时间。然而,若不断有短作业到达,长作业可能会一直得不到执行机会,出现“饥饿”现象。同时,由于需要预知作业执行时间,实际应用中可能存在困难。
时间片轮转调度算法
- 简述:将CPU的处理时间划分成一个个固定长度的时间片,就绪队列中的进程轮流获得一个时间片的CPU使用权,时间片用完后,即使进程未执行完,也会被剥夺CPU使用权,重新回到就绪队列末尾等待下一轮调度。
- 对系统响应时间的影响:能保证所有进程在一定时间内都能获得CPU执行机会,响应时间相对较均匀,每个进程都能及时得到响应。但时间片大小设置很关键,若时间片过长,会退化为FCFS算法,对短作业响应不及时;若时间片过短,进程上下文切换频繁,会增加系统开销,导致整体效率降低。
优先级调度算法
- 简述:为每个进程分配一个优先级,调度时选择优先级最高的进程执行。优先级可以根据作业的紧急程度、资源需求等因素确定。
- 对系统响应时间的影响:高优先级进程能快速得到响应,优先执行。但与SJF类似,若低优先级进程优先级设置过低,且高优先级进程不断到来,低优先级进程可能长时间得不到执行,出现“饥饿”现象。合理设置优先级可以平衡不同类型进程的响应时间需求。