最短剩余时间算法(Shortest Time Remaining Algorithm)执行序列正确性判定
最短剩余时间(SRT)调度算法的正确序列分析
首先明确最短剩余时间(SRT)调度算法的核心规则:这是一种抢占式调度算法,每当有新进程到达、或当前运行进程完成时,调度器会从所有已到达且未完成的进程中,选择剩余突发时间最短的进程执行;若剩余时间相同,则通常遵循**先来先服务(FCFS)**原则选择先到达的进程。
先整理给定的进程基础信息:
| 进程 | 到达时间 | 初始突发时间 |
|---|---|---|
| P1 | 0 | 3 |
| P2 | 2 | 6 |
| P3 | 4 | 4 |
| P4 | 6 | 5 |
| P5 | 7 | 2 |
接下来我们逐段模拟调度过程,对比两个序列:
时间区间0-3秒
此时只有P1到达,执行P1直至完成(剩余时间从3减至0),两个序列此处一致,无问题。
时间区间3-4秒
时间到3秒时,已到达的未完成进程只有P2(到达时间2,剩余突发时间6),因此执行P2。到4秒时,P3到达,此时P2已执行1秒,剩余突发时间为6-1=5,而P3的剩余突发时间为4——显然P3剩余时间更短,因此切换到P3执行,两个序列此处也一致。
时间区间4-8秒
执行P3直至完成(剩余时间从4减至0),时间到8秒时,已到达的未完成进程有:
- P2:剩余突发时间5
- P4:到达时间6,剩余突发时间5
- P5:到达时间7,剩余突发时间2
其中P5的剩余时间最短,因此执行P5到10秒完成,两个序列此处仍一致。
时间区间10秒及之后
时间到10秒时,剩余未完成进程为:
- P2:剩余突发时间5(仅执行过1秒)
- P4:剩余突发时间5(从未执行)
两者剩余时间相同,此时遵循FCFS原则,选择先到达的P2(P2到达时间2早于P4的6)执行,因此10-15秒应执行P2,完成后再执行P4的15-20秒。
结论
左侧序列符合最短剩余时间调度算法的规则,是正确的执行顺序。
内容的提问来源于stack exchange,提问作者Goktug
相关产品推荐
相关产品推荐

