面试题答案
一键面试先来先服务(FCFS)
- 对响应时间的影响:按照进程到达的先后顺序进行调度。先到达的进程先执行,后到达的进程需等待前面进程执行完毕。这可能导致后到达但执行时间短的进程等待较长时间,从而使整体响应时间变长。
- 优点:实现简单,公平对待所有进程,每个进程按照到达顺序依次得到服务。
- 缺点:对于短作业不利,如果长作业先到达,短作业需要等待长作业执行完毕,导致短作业响应时间过长,不能有效最小化响应时间。
短作业优先(SJF)
- 对响应时间的影响:优先调度预计执行时间最短的进程。这样可以快速处理短作业,减少短作业的等待时间,从而降低整体响应时间。
- 优点:理论上可以最小化平均响应时间,因为短作业能优先得到执行,减少了等待开销。
- 缺点:难以准确预测作业的执行时间,实际应用中可能只能估算。另外,可能导致长作业长时间得不到调度,产生“饥饿”现象,并且对实时性要求高的作业处理不佳。
时间片轮转(RR)
- 对响应时间的影响:将CPU时间划分为固定大小的时间片,每个进程轮流在一个时间片内执行。如果进程在时间片内未执行完,则暂停并排入就绪队列末尾等待下一轮调度。这使得每个进程都能在较短时间内获得CPU执行机会,保证了响应时间的相对稳定。
- 优点:能快速响应交互式进程,每个进程都有机会及时执行,避免长进程独占CPU导致其他进程长时间等待,可较好地满足响应时间要求。
- 缺点:若时间片设置过小,进程上下文切换频繁,增加系统开销,降低CPU利用率;若时间片设置过大,又可能退化为FCFS,失去快速响应的优势。
优先级调度
- 对响应时间的影响:根据进程的优先级来调度,优先级高的进程优先执行。这可以让重要或紧急的进程快速得到处理,降低其响应时间。
- 优点:可以根据进程的重要性或紧急程度进行优先处理,对于关键任务能快速响应,满足特定场景下对响应时间的要求。
- 缺点:如果不采取适当措施,低优先级进程可能长时间得不到调度而“饥饿”。并且确定合理的优先级比较困难,若优先级设置不合理,可能影响整体系统性能和响应时间。