面试题答案
一键面试1. 先来先服务(FCFS,First-Come, First-Served)
- 基本原理:按照进程到达就绪队列的先后顺序进行调度,先到达的进程优先获得CPU资源并执行,直到该进程完成或因等待某些事件而阻塞,才会调度下一个进程。
- 适用场景:适用于对响应时间要求不高,主要关注公平性的场景,例如批处理系统。
- 优点:实现简单,公平性好,每个进程都按照其到达顺序依次获得服务机会,不会出现某些进程被饿死的情况。
- 缺点:对于长进程和短进程混合的系统,长进程会使短进程等待很长时间,导致系统整体平均周转时间和平均等待时间较长,不利于提高系统的响应性能。
2. 优先级调度(Priority Scheduling)
- 基本原理:为每个进程分配一个优先级,调度程序总是选择优先级最高的进程在CPU上执行。当高优先级进程进入就绪队列时,正在执行的低优先级进程可能会被抢占(抢占式优先级调度);若只有当运行的进程完成或阻塞时,才调度高优先级进程,则为非抢占式优先级调度。
- 适用场景:适用于实时系统中对任务优先级有明确划分的场景,例如在航空交通管制系统中,紧急情况处理任务优先级高,需优先执行。
- 优点:能保证高优先级任务得到及时处理,提高了系统对重要任务的响应速度。
- 缺点:若不采取额外措施,低优先级进程可能长时间得不到执行,即出现饿死现象。而且确定合理的优先级比较困难,若优先级划分不合理,可能导致系统性能下降。