实时调度

实时系统中对截止时间的要求很高,要在规定的截止时间内完成,分为开始截止时间和完成截止时间
完成截止时间-开始截止时间=执行时间
处理时间:从开始执行到完成所需时间

关于实时系统是否可以调度的问题:
n个任务 处理时间/发生周期(周期实时任务)总和小于等于1即可执行

周期:从开始执行到执行完毕

一、实时调度算法的分类
1.非抢占式调度算法
(1)非抢占式轮转调度算法
(2)非抢占式优先调度算法
2.抢占式调度算法
(1)基于时钟中断的抢占式优先级调度算法
(2)立即抢占的优先级调度算法(考虑临界区)

二、最早截止时间优先EDF算法
根据任务的开始截止时间来确定任务的优先级,截止时间越早,优先级越高
(可用于抢占式/非抢占式)
1.非抢占式调度方式用户非周期实时任务(可能会出现错过,用于软实时系统)
2.抢占式调度方式用于周期实时任务(硬实时)

三、最低松弛度优先LLF算法
根据任务的紧急(或松弛)程度确定优先级,越紧急,优先级越高

松弛度=截止完成时间-还需执行时间-当前时间

进程切换发生的时机
(1)进程执行完
(2)进程I/O阻塞
(3)新进程出现时可能的抢占
(4)某进程松弛度为0时发生抢占
(有的时刻,其他并发的实时任务下一周期未到来,会出现只有一个任务的情况)

四、优先级倒置
解释:高优先级进程(或线程)被低优先级进程延迟或阻塞

例:
P1,P2,P3优先级由高到低,若P3先来,并且会访问临界资源m,此时P1来了会发生抢占,但由于P1也要访问临界资源m,此时P1不会执行,会让P2执行,直到P3执行完之后才会让P1执行

解决方式:
1.抢占:让P3继承P1的优先级,那么P2就不会执行,P3执行完毕P1执行

2.不抢占:P3执行不完不允许被强占,那么上述情况就不会发生
但,若P3的执行时间很长,还是会存在P1持续等待的情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值