操作系统 实时调度算法例题(附图解)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、在一个实时系统中,有三个周期性实时任务,任务A要求每20ms执行一次, 执行时间为

10ms;任务B要求50ms执行一次,执行时间为10ms;任务C要求50ms执行一次,执行时间为15ms, 应如何按最低松弛度优先算法对它们进行CPU调度?

解:

松弛度=必须完成时间-其本身的运行时间-当前时间

设任务A、B、C在t=0时同时到达,任务A和B每次必须完成的时间分别为:A1、A2、A3……和B1、B2、B3……

t=0

A1须在20ms时完成其本身运行时间是10ms

A1的松弛度=(20-10-0)ms=10ms

B1的松弛度=(50-10-0)ms=40ms

C1的松弛度=(50-15-0)ms=35ms

所以可得到A1先执行,当A1执行完10ms后,只剩下了B1和C1 此时

t=10ms

B1的松弛度=(50-10-10)ms=30ms

C1的松弛度=(50-15-10)ms=25ms

所以可得到C1先执行,当C1执行到了

t=25ms时

A2的松弛度=(40-10-25)ms=5ms

B1的松弛度=(50-10-25)ms=15ms

所以可得到A2先执行,当A2执行完10ms时

t=35ms,只剩下了B1,接着执行B1,当B1执行完10ms时

t=45ms,只剩A3,执行A3,当A3执行完10ms时

t=55ms,此时

B2的松弛度=(100-10-55)ms=35ms

C2的松弛度=(100-15-55)ms=30ms

所以C2执行15ms

此时t=70ms

A4的松弛度=(80-10-70)ms=0ms

则A4执行10ms

此时t=80ms,只剩下了A5和B2

A5的松弛度=(100-10-80)ms=10ms

B2的松弛度=(100-10-80)ms=10ms

因为B2先进入了就绪队列,所以B2先执行,执行10ms,再执行A5 同理依次往下计算……….

如图所示,横轴代表t

相关文档
最新文档