31、单处理器系统调度算法详解

单处理器系统调度算法详解

1. 调度基础与可调度性测试

在实际应用中,为任务制定合适的调度计划至关重要。在编译前,可能需要对执行时间进行预估;编译后,能获取更详细的执行时间信息,从而制定更精确的调度计划;有时还需在运行时决定下一个执行的任务。而在时间触发系统中,实时操作系统(RTOS)的调度可能仅需简单的任务查找表。

可调度性测试在许多应用中非常重要。精确测试在很多情况下属于NP难题,因此通常采用充分性测试和必要性测试。充分性测试检查保证调度可行的充分条件,可能会误判调度不可行;必要性测试检查必要条件,可用于判断调度不存在,但也可能出现通过测试但调度仍不可行的情况。

2. 单处理器系统调度算法

2.1 独立作业调度

2.1.1 最早截止日期优先(EDD)算法

当所有作业同时到达时,为了最小化延迟,可使用EDD算法。该算法基于Jackson规则,即按截止日期非递减顺序执行作业能最小化最大延迟。EDD算法可实现为静态调度算法,需按截止日期对作业排序,复杂度为O (n log(n))。

以下是EDD算法的证明思路:
假设有一个非EDD调度S,存在作业Ja和Jb,Ja的截止日期早于Jb,但Jb先执行。通过交换Ja和Jb的执行顺序得到调度S′,可以证明S′的最大延迟小于S的最大延迟。因此,任何非EDD调度都可通过有限次交换转换为EDD调度,且最大延迟只会减小,所以EDD算法是最优的。

2.1.2 最早绝对截止日期优先(EDF)算法

当作业释放时间不同时,预emption可降低最大延迟。EDF算法在任何时刻执行所有就绪作业中绝对截止日期最早的作业,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值