操作系统——进程调度,调度算法等待时间的计算
可抢占:0时刻P1到达,执行完一秒后,P2到达此时P2运行时间小于P1,P2先执行,P2执行一秒后P3到达,P3执行时间小于P2所以继续执行P2,4秒完成P2,此时P1执行时间大于P3所以先执行P3。这里有P1,P2,P3,三个进程,在0时刻,只有P1到达,所以只能执行P1,然后1时刻只有P2到达,所以只能执行P2,最后执行P3,执行顺序为:P1,P2,P3。这里有三个进程,P1,P2,和P3,他
1.先来先服务(FCFS,First-come first-served)
定义:
先来先服务(FCFS)是一种简单的调度算法,其核心思想是按照任务或进程到达的顺序依次执行,即最先到达的请求最先被处理。该算法广泛应用于作业调度(如批处理系统)、进程调度、磁盘I/O调度等领域。
特点与工作原理
-
非抢占式:
一旦一个任务开始执行,会一直占用资源直到完成,期间不会被其他任务中断。 -
公平性:
所有任务按到达顺序排队,无优先级区分。
实现简单:
只需维护一个先进先出(FIFO)队列,管理开销低。
等待时间的计算:

这里有三个进程,P1,P2,和P3,他们的到达时间分别为0,1,2,根据先来先服务,先对进程P1进行处理,再对进程P2,接着再对进程P3
我们可以对其作出一个简单的Gantt图:
根据等待时间=开始时间-到达时间 我们可以计算平均等待时间
P1等待时间 = 0 - 0
P1等待时间 = 27 - 1
P1等待时间 = 30 - 2
平均等待时间:
(0+26+28) / 3 = 18
2.短作业优先
定义:短作业优先(SJF)是一种调度算法,优先执行预计运行时间最短的任务,以减少平均等待时间,提高系统吞吐量。SJF 可以是非抢占式(一旦开始执行就运行到完成)或抢占式(也称为最短剩余时间优先,SRTF)。
特点与工作原理
-
目标:
-
最小化平均等待时间。
-
提高系统吞吐量(单位时间内完成的任务数)。
-
-
非抢占式 SJF:
-
选择当前就绪队列中执行时间最短的任务运行,直到完成。
-
-
抢占式 SJF(SRTF):
-
如果有更短的新任务到达,可以抢占当前任务
-
等待时间的计算:
不可抢占:
这里有P1,P2,P3,三个进程,在0时刻,只有P1到达,所以只能执行P1,然后1时刻只有P2到达,所以只能执行P2,最后执行P3,执行顺序为:P1,P2,P3
P1等待时间 = 0 - 0
P2等待时间 = 27 - 1
P3等待时间 = 30 - 2
P4等待时间 = 0 - 0
可抢占:0时刻P1到达,执行完一秒后,P2到达此时P2运行时间小于P1,P2先执行,P2执行一秒后P3到达,P3执行时间小于P2所以继续执行P2,4秒完成P2,此时P1执行时间大于P3所以先执行P3

根等待时间计算公式:等待时间= 完成时间 - 运行时间 - 等待时间
P1等待时间 = 35 - 27 -0
P2等待时间 = 4 - 1 -3
P3等待时间 = 9 - 5 -2
计算出平均等待时间:[(35-27) + 0 + (9-7)] / 3 = 10/3
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)