优先级调度算法实现_嵌入式操作系统周期任务经典调度算法

本文介绍了实时操作系统中的任务调度算法,重点讨论了优先级调度,包括固定优先级调度算法如单调速率调度(RMS)和动态优先级调度算法如最早截止时间优先(EDF)。RMS算法是静态最优的,而EDF则能充分利用系统资源,但在高负载下可能导致任务错过截止期。此外,还提到了最小空闲时间优先(LSF)算法作为EDF的改进策略。
摘要由CSDN通过智能技术生成

引言

随着嵌入式实时操作系统应用的不断深入,多个实时任务并发执行,再加上任务之间不停地动态切换,这对任务调度算法提出了较高的要求。实时操作系统中各个任务的优先级是不同的,而且经常会遇到超负荷的情况.。在这种超载情况下,使任务集内各任务满足各自的时限,嵌入式操作系统必须保证在确定的时间内对事件进行处理,因此必须要有一个良好的任务调度算法。周期任务和非周期任务是实时嵌入式系统中的常见任务类型,系统实时任务调度策略主要包括时间驱动调度策略、优先级驱动调度策略。常见的动态优先级调度算法有最早截止期优先调度算法和最小空闲时间优先算法、单调速率调度算法和最大价值优先算法等。

实时系统的任务按产生请求的频率可分为周期性任务与非周期性任务:周期性任务按照固定的请求间隔持续地产生请求,不同的任务请求间隔不一定相同。 非周期性任务在任意一段时间间隔内可能产生不定数量的请求。按任务优先级分配方式可分为静态优先级任务和动态优先级任务。

1)固定优先级调度算法

在实时调度算法中,固定优先级调度算法事先根据任务的属性,如任务的周期、截止期限等为系统中的所有任务静态分配一个优先级。当任务的截止期限等于周期时,提出了RMS调度算法,它根据任务的执行周期长短的不同来决定优先级,即任务的周期越小优先级越高,任务的周期越大优先级越低。以RMS为代表的固定优先级调度算法,一方面不仅具有运行时间开销小和易于实现的优点,而且在系统超载情况下,仍然可以保证高优先级的任务得到执行;但另一方面却是不能充分地利用系统资源。

2)动态优先级调度算法

在实时调度算法中,动态优先级调度算法根据任务资源需求的变化以及任务的属性,如任务周期、截止期限等动态地决定任务的优先级。当任务的截止期限等于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值