最早截止时间有限(EDF)算法、最低松弛度优先(LLF)算法

本文深入解析实时调度领域的两种核心算法——最早截止时间有限(EDF)与最低松弛度优先(LLF),并探讨了优先级倒置现象及其解决方案,为读者提供了一个全面理解实时任务调度机制的视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最早截止时间有限(EDF)算法:

截止时间越早,优先级越高

最低松弛度优先(LLF)算法:

松弛度=完成截止时间-仍需运行时间-当前时间

松弛度越低优先级越高,当正在执行时有其他松弛度更低的进程进入队列也不会暂停当前队列,而是当更低的进程松弛度减为零时才会进行进程切换。

优先级倒置:

形成:优先级高的进程被优先级低的进程延迟或阻塞,因共享临界资源问题

如何解决:进入临界区后处理机不允许被抢占;发生倒置时,将高优先级进程的优先级给低优先级,也就是将优先级互换

实验二、实时调算法 一、实验目的 了解实时调及其与非实时调算法区别; 理解最早截止时间优先算法EDF算法); 理解最低松弛优先LLF算法; 使用C语言实现最早截止时间优先算法(EDF算法)最低松弛优先LLF算法; 计算多个任务的调顺序。 二、实验原理 最早截止时间优先算法(EDF),是一种采用动态调优先级调算法,任务的优先级根据任务的截止时间来确定。任务的截止时间越近,任务的优先级越高;任务的截止时间越远,任务额优先级越低。当有新的任务处于就绪状态时,任务的优先级就有可能需要进行调整。 最低松弛优先LLF算法是根据任务紧急(或松弛)的程,来确定任务的优先级。任务的紧急越高,其优先级越高,并使之优先执行。算法采用抢占调方式,可用于调具有完成截止时间的周期性实时任务。松弛 = 必须完成时间 - 本身剩余运行时间 - 当前时间。 五、实验内容 编程实现最早截止时间优先算法(EDF算法),输入任务(非周期任务、周期任务)基本数据,输出各任务运行详表; 编程实现最低松弛优先LLF算法(选做),输入各周期性任务基本数据,输出各任务运行详表。 六、实现提示 该算法的思想是从两个任务中选择截至时间最早的任务,把它暂作为当前处理任务,再判断该任务是否在当前周期内,若不在当前周期内,就让另一任务暂作当前处理任务,若该任务也不在当前周期内,就让CPU空跑到最靠近的下一个截至时间的开始,若有任务在该周期内,就判断该任务的剩余时间是否小于当前截至时间与当前时间的差,若小于,则让该任务运行到结束。否则,就让该任务运行到该周期的截止时间,就立即抢回处理器,再判断紧接着的最早截至时间,并把处理器给它,做法同上,如此反复执行。 用C语言实现,程序中进程可用PCB表示,其类型描述如下: struct PCB { char name[N];//进程名 int arriveTime;//到达时间 int runTime;//运行时间 bool st;//是否已经运行完毕, false为没运行完 int startTime;//开始运行时间 int endTime;//结束运行时间 int priority;//截至时间 }process[N];//N个进程 七、实验测试 第1关:非周期性任务实时调EDF 【输入1】 0 //非周期性任务 4 //任务数量 A 0 4 4 //任务名、到达时间、运行时间截止时间 B 2 2 6 C 1 3 9 D 4 1 10 【输出1】 进程时序图: ----A ****--B ******---C *********-D 进程名 到达时间 开始时间 结束时间 运行时间 等待时间 周转时间 A 0 0 4 4 0 4 B 2 4 6 2 2 4 C 1 6 9 3 5 8 D 4 9 10 1 5 6 第2关:周期性任务实时调EDF 【输入2】 1 //周期性任务 2 //任务数量 A 20 10 //任务名、周期时间、服务时间 B 50 25 【输出2】 进程时序图: //执行时间:两任务周期(20,50)的最小公倍数(100) --A1 **--B1 ****--A2 ******---B1 *********--A3 ***********-B2 ************--A4 **************----B2 ******************--A5 进程名 到达时间 开始时间 结束时间 运行时间 等待时间
最新发布
03-27
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值