1、实时系统中有两个周期性实时任务A不 B,任务 A 要求每 20ms 执行一次,执行时间 为10ms。任务 B 要求每 50ms 执行一次,执 行时间为25ms,任务 A 和任务 B 每次的开始 1 截止时间表示为A1,A2,A3…和B1,B2,B3…。 采用最早截止时间优先的剥夺调度算法,画 图并说明从0ms到80ms该算法的执行情况
时间: 2024-02-11 16:05:08 浏览: 7
在最早截止时间优先的剥夺调度算法中,优先执行截止时间最早的任务。如果两个任务的截止时间相同,则优先执行执行时间较短的任务。下面是该算法的执行情况:
- 在时刻0ms,任务A和任务B都处于就绪队列中,此时截止时间最早的任务是A,因此执行任务A,执行时间为10ms,执行完后时刻为10ms。
- 在时刻10ms,任务A已经执行完,此时任务B的截止时间比任务A更早,因此执行任务B,执行时间为25ms,执行完后时刻为35ms。
- 在时刻35ms,任务B已经执行完,此时任务A的下一次执行时间为20ms,任务B的下一次执行时间为50ms,因此任务A进入就绪队列,此时就绪队列中只有任务A,因此执行任务A,执行时间为10ms,执行完后时刻为45ms。
- 在时刻45ms,任务A已经执行完,此时任务B的下一次执行时间为50ms,因此任务B进入就绪队列,此时就绪队列中只有任务B,因此执行任务B,执行时间为25ms,执行完后时刻为70ms。
- 在时刻70ms,任务B已经执行完,此时任务A的下一次执行时间为60ms,因此任务A进入就绪队列,此时就绪队列中只有任务A,因此执行任务A,执行时间为10ms,执行完后时刻为80ms。
下图是该算法的执行情况示意图:
```
0 10 20 30 40 50 60 70 80
|--------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|
A1 A2 A3 B1 B2 A4
B3
```