浅析RM与EDF实时调度算法
EDF调度算法

2 1)
Page 9
一、引入 2、国内外研究概况
当然,RM是基于这样一种比较理想的硬实时周期任务模型: i. 所有的任务都是周期任务 ii. 所有的任务都是不相关的,即它们没有共享资源 iii.所有任务都有一个固定的执行时间或最大执行时间 iv.所有任务的相对截止时间 都等于它们的周期 v. 所有任务都是可抢占的 vi.系统只有一个处理器 注:若iv不成立,则RM不是最优的固定优先级调度算法。这 事可采用另一种算法:时限单调(deadline monotonic)调度算 法DM,其按任务的相对时限来分配优先级:相对时限越短, 优先级越高。
Page 12
一、引入 2、国内外研究概况
软实时任务和偶发任务的调度 因为软实时任务允许运行时间错过截止期,所以其调度目标 是在保证满足硬实时周期任务的时限前提下,提高软实时任 务的响应时间。目前主要的调度算法有:
i. 后台运行法
ii. 轮询服务器法 iii. 挪用法
Page 13
一、引入 2、国内外研究概况
Page 11
一、引入 2、国内外研究概况
还有其他的动态优先级调度算法,e.g 最小空闲时间优先 (Least Slack Time First,LST)算法。
一个任务在t时刻的空闲时间等于: 截止时刻- t -该任务的剩余执行时间
虽然LST也是具有最优性ቤተ መጻሕፍቲ ባይዱ但需随时监视所有就绪任务,运行 时的开销较大,且如果两个任务的空闲时间接近,很容易产生 调度的颠簸现象,所以实际使用中一般不适用。
Page 5
一、引入 1、背景、目的及意义
从实时系统理论的发展来看,主要有以下几个方面: 有资源互斥的硬实时任务调度: 提出几种资源互斥协议来防止优先级反转和死锁问题, 并给出相应的可调度判定条件。 多处理器实时任务调度,前面的研究都是假定系统中只有 一个处理器,忽略实际复杂的因素,将注意力集中到调度算 法、资源访问控制和可调度性分析判定的基本原理上。这部 分将这些理论应用于包含多个处理器的实时系统中,并处理 在单处理器系统中未出现的问题。
处理机调度——实时调度

实验二处理机调度——实时调度算法EDF和RMS1.实验目的:深入理解处理机调度算法,了解硬实时概念,掌握周期性实时任务调度算法EDF(Earliest Deadiest First)和RMS (Rate-MonotonicScheduling)的可调度条件,并能在可调度情况下给出具体调度结果。
2.实验过程在克调度的情况下,创建一组用户级线程。
3.实验内容#include <windows.h>#include <iostream>const unsigned short SIZE_OF_BUFFER = 10; //缓冲区长度unsigned short ProductID = 0; //产品号unsigned short ConsumeID = 0; //将被消耗的产品号unsigned short in = 0; //产品进缓冲区时的缓冲区下标unsigned short out = 0; //产品出缓冲区时的缓冲区下标int g_buffer[SIZE_OF_BUFFER]; //缓冲区是个循环队列bool g_continue = true; //控制程序结束HANDLE g_hMutex; //用于线程间的互斥HANDLE g_hFullSemaphore; //当缓冲区满时迫使生产者等待HANDLE g_hEmptySemaphore; //当缓冲区空时迫使消费者等待DWORD WINAPI Producer(LPVOID); //生产者线程DWORD WINAPI Consumer(LPVOID); //消费者线程int main(){g_hMutex = CreateMutex(NULL,FALSE,NULL);//函数功能:建立互斥体,用来同步。
如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。
//互斥体的好处是可以在进程间共享//函数原形://HANDLE CreateMutex(// LPSECURITY_ATTRIBUTES lpMutexAttributes,// BOOL bInitialOwner,// LPCTSTR lpName// );//参数说明://lpMutexAttributes:// 指向一个SECURITY_ATTRIBUTES结构的指针,这个结构决定互斥体句柄是否被子进程继承。
基于动态时间片的RM实时调度算法

基于动态时间片的RM实时调度算法本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意!摘要:嵌入式实时操作系统克服了无线抄表系统中的数据重传次数多、实时性差、传输效率低等缺点。
论文结合单调速率调度算法和时间片轮转算法的优点,对系统实时调度算法进行改进,提出了一种基于动态时间片的单调速率(RM)实时调度算法,并将新的算法应用于无线抄表系统中。
实验证明,所提出的新算法在复杂通信环境下调度用时接近于理想时间,优于传统实时调度算法。
关键词:无线抄表系统;嵌入式系统;实时调度算法;动态时间片RM Real-Time Scheduling Algorithm Based on Dynamic Time SliceZhang Xue-jun, Zhou Hao, Yan Jin-tong, Lu You (School of Electronic Science and Engineering, Nanjing University of Posts and Telecommunications, Nanjing, Jiangsu 210003, China)Abstract:The embedded real-time operating system can improve the usefulness of the wireless meter system. The new scheduling algorithm based primarily on the priorityalgorithms, and it combines the advantages of speed-adjustment scheduling algorithm and the round-robin scheduling algorithm. Experiments show that, the proposed algorithm makes the time of scheduling in complex communication environment scheduling obviously close to the ideal time, superior to the traditional algorithm.Key words:wireless meter system; embedded system; real-time scheduling algorithms; dynamic time slice0 引言随着城市规划建设水平的提高和城市人口数量的剧增,高层以及超高层建筑的数量越来越多,这对家居智能化提出了更高的要求。
实时系统中的实时操作系统任务调度算法对比(十)

实时系统是一种要求任务能够在特定时间内完成的计算机系统。
而实时操作系统(RTOS)则是为了满足实时系统的需求而开发的操作系统。
在实时操作系统中,任务调度算法起着至关重要的作用,它决定了任务的执行顺序和调度策略,直接影响系统的响应时间和性能。
在实时操作系统中,常用的任务调度算法包括最早截止时间优先算法(EDF)、最高优先级优先算法(HPF)和循环调度算法(RR)等。
这些算法各有特点,适用于不同的实时系统需求。
首先,最早截止时间优先算法(EDF)是一种动态优先级调度策略。
它通过比较任务的最后截止时间来确定任务的优先级,最早截止时间的任务优先级最高。
这种算法适用于任务的截止时间比较紧迫的实时系统,可以保证高优先级任务能够在截止时间之前完成。
然而,EDF算法需要实时系统对任务的截止时间进行预先设定,当系统负载过大时,可能无法满足所有任务的截止时间要求,导致任务丢失。
其次,最高优先级优先算法(HPF)是一种静态优先级调度策略,优先级通过任务的固定设定确定。
具有最高优先级的任务先执行,直到完成或被更高优先级任务抢占。
这种算法简单高效,适用于实时系统中优先级关系较为稳定的情况。
然而,HPF算法可能会导致低优先级任务处于饥饿状态,长时间无法得到执行,有可能影响系统的整体性能。
最后,循环调度算法(RR)是一种时间片轮转调度策略。
每个任务被分配一个相等的时间片,任务按照轮转的方式执行,直到时间片用完或任务完成。
这种算法适用于实时系统中任务优先级较为相近的情况,能够公平地分配系统资源。
然而,RR算法可能会导致一些任务占用过多的时间片,造成系统响应时间不可控。
综合比较这些调度算法,可以发现不同的实时任务调度算法适用于不同的场景。
实际应用中,还可以根据实时任务的特点和需求制定一些改进的算法。
例如,静态优先级调度算法与动态优先级调度算法可以结合使用,根据实时任务的特点和优先级关系进行动态调整,在满足任务截止时间的前提下,兼顾系统性能。
实时调度算法

实时调度算法实时调度算法EDF实时调度算一、基本思想:在该实验中有两个周期性任务A、B,A的周期时间为20ms,每个周期的处理时间为10ms;任务B的周期时间为50ms,每个周期的`处理时间为25ms。
在t=0是,A1和B1同时到达,由于A1的截止时间比B1早,故调度A1执行;在t=10时,A1完成,又调度B1执行;在t=20时,A2到达,由于A2的截止时间比B2早,B1被中断而调度A2执行;在t=30时,A2完成,又重新调度B1执行;在t=40时,A3到达,但B1的截止时间要比A3早,仍执行B1,在t=45时,B1执行完,再调度A3执行;在t=55时,A3完成,调度B2执行。
该实验将最早截止时间优先算法用于抢占调度方式。
在该实验中,定义了两个开关来判断两个任务是中断还是调度执行。
二、源程序代码:#includeint main(){int A,B;int tA,tB,serveA,serveB; //进程的周期时间和处理时间float m;int i,j,a=0,b=0,ka=0,kb=0; //ka,kb为开关,i,j,a,b为进程下标int numa=0,numb=0; //处理累计时间printf("输入进程A的周期时间和处理时间:");scanf("%d%d",&tA,&serveA);printf("输入进程B的周期时间和处理时间:");scanf("%d%d",&tB,&serveB);m=(float)serveA/tA+(float)serveB/tB;for(int T=0;T<=100;T++){if(m-1>1e-6){printf("超出CPU的处理能力!\n"); return 0;}if(numa==serveA) //进程A完成{numa=serveA+1;printf("当T=%d时",T);printf("进程A%d完成\n",a);if(numb{printf(" 调度进程B%d\n",b);kb=1;}ka=0;}if(numb==serveB){numb=serveB+1;printf("当T=%d时",T);printf("进程B%d结束\n",b);if(numa{printf(" 调度进程A%d\n",a);ka=1;}kb=0;}if(T%tA==0 && T%tB==0){A=B=T;j=++a;i=++b;printf("当T=%d时,进程A%d和进程B%d同时到达,此时,",T,j,i); if(tA<=tB){printf("调度进程A%d,中断进程B%d\n",j,i);ka=1;kb=0;}else{printf("调度进程B%d,中断进程A%d\n",i,j);ka=0;kb=1;}numa=numb=0;}if(T%tA==0&&T%tB!=0){A=T;printf("当T=%d时",T);printf("进程A%d到达",++a); //不可能与进程A竞争处理器numa=0;if(numbif(B+tB>A+tA) //若进程B最早截止时间大于进程A的 {printf("进程A%d执行。
浅析RM与EDF实时调度算法

浅析RM与EDF实时调度算法1 引言与非实时系统相比,嵌入式实时系统因其所控制物理过程的动态性,要求运行于其中的单个任务必须满足其时限要求,以确保整个系统的正确性和安全性[1]。
在航空航天、电信、制造、国防等领域,对实时系统有着强烈的应用需求。
实时处理和实时系统的研究和应用工作已经有了相当长的历史,在实时任务调度理论、实时操作系统、实时通信等方面取得了大量成果。
实时任务调度理论是实时处理技术的核心和关键[2]。
这是因为,实时任务具有时限要求,在一个或多个处理器之间调度实时任务,需要判断是否每个任务的执行都能在其截止期限内完成。
如果每个任务的执行都能在其截止期限内完成,则称该调度是可行。
可调度性判定就是判定给定的n个实时任务在应用某种调度算法的前提下能否产生一个可行的调度。
调度算法的设计要尽可能满足任务可调度性的要求[3]。
2 实时调度分类由于实时系统的侧重点不同,实时调度亦有多种分类方式。
常见的分类有,根据任务实时性要求的重要程度,分为硬实时调度和软实时调度——在硬实时调度中任务必须在其截止期限内执行完毕,否则将产生严重后果。
而对于软实时任务,当系统负载过重的时候,允许发生错过截止期限的情况,根据任务是在一个或多个处理器上运行,分为单处理器实时调度和多处理器实时调度,多处理器实时调度又可分为集中式调度和分布式调度;根据调度算法和可调度性判定是在任务运行之前还是运行期间进行的,分为静态调度、动态调度和混合调度;根据被调度的任务是否可以互相抢占,分为抢占式调度和非抢占式调度;根据任务请求到达的情况不同。
分为周期性任务调度和非周期性任务调度。
不同调度方式具有各自的优缺点,适用于不同类型的实时系统。
3 RM与EDF调度算法简介1973年,Liu 和Layland 提出了一种适用于可抢占的硬实时周期性任务调度的静态优先级调度算法——速率单调(Rate Monotonic ,简称RM )调度算法,并对其可调度性判定问题进行了研究。
两种改进的EDF软实时动态调度算法

LIQi
BA e W i
Байду номын сангаас
( c o l f Elcr nca d I f r t n,Da in U ie s y o eh o o y,D l n Lio ig 1 2 ) S h o eto i n n o mai o o l n v ri f T c n lg a t a i , a nn 0 4 a 1 6 ( a i nS ini i T s a d C n r l c n l n ttt ,D l n io i g 1 6 1 ) D l c t c et n o to h oo Y I s u e a i ,L a nn 1 0 3 a e f Te g i a
第 3 卷 第 5 4 期 21 0 1年 5月
计
算
机
学
报
V o . 34 No. 5 1
M a O11 y2
CHI NES (U RNA L OF COM P TERS E J) U
两 种 改进 的 E DF软 实 时动 态 调 度 算 法
李 琦¨
Abta t s r c
I of e ltm e s s e s he CPU e o c s w a t d by s ic i to ly a d t n s tr a —i y t m ,t r s ur ei s e w t h ng op i na l n he
s he ul b lt ft y t m s d c e s d b hel sng o v r a a ks The c nc pto yn mi c d a iiy o he s s e i e r a e y t o i fo e m ny t s . o e fd a c f z y t r s ol s i r du e n t i pe ,ba e u z h e h d i nt o c d i h s pa r s d on whih t m p ov d EDF c du i g a g — c wO i r e s he ln l o rt m s a e p op e . The d a lne o hee c tng t s sdea e o s v h e ou c n o e a — ih r r os d e d i ft xe u i a k i l y d t a e t e r s r e i n l g ihm n s s r e o i c e s he r to o UC ・ Si heo he .I hi a r,t or ort a d i ho t n t n r a e t a i fS C S n t t r n t s p pe e he f mul eo a f t e c ii a a ue o u z hr s l r v n a d t e s he ul b lt s d s us e h rtc l v l f r f z y t e ho d a e gi e n h c d a iiy i i c s d. Fi ly,t e na l h
实时系统中的实时任务调度与实时负载均衡调度策略比较评估(八)

实时系统中的实时任务调度与实时负载均衡调度策略比较评估引言:实时系统是指必须在严格的时间限制内完成任务的计算机系统。
实时任务调度和实时负载均衡调度是实时系统中非常重要的两个方面。
本文将对这两种调度策略进行比较评估,分析它们在实时系统中的优缺点和适用场景。
一、实时任务调度策略实时任务调度策略是指根据任务的实时性、优先级和任务需求等因素,合理地将任务分配给处理器进行执行的方法。
常见的实时任务调度策略有最早截止时间优先(EDF)、最短工期优先(SPT)和最高优先级优先(HPF)等。
EDF调度策略是指在任务的截止时间内,将最紧急的任务优先调度。
这种策略能够保证系统中任务都能在指定的截止时间内完成,但可能导致一些优先级较低的任务长时间得不到执行,造成资源浪费。
SPT调度策略是指在给定的处理器数量下,将任务按照执行时间从短到长的顺序进行调度。
这种策略能够最大程度地缩短系统的响应时间,但可能导致一些长时间任务等待时间过长,影响系统的整体效率。
HPF调度策略是指按照任务的优先级进行调度,优先级高的任务先执行。
这种策略能够保证高优先级任务的执行效益,但可能导致低优先级任务的长时间等待时间,降低系统的整体效率。
二、实时负载均衡调度策略实时负载均衡调度策略是指根据系统的任务负载情况,合理地调整任务的分配和处理器的负载,使得整个系统的负载均衡。
常见的实时负载均衡调度策略有静态负载均衡和动态负载均衡。
静态负载均衡调度策略是指在系统初始化时就根据任务的处理时间等因素,将任务分配给处理器。
这种策略适用于任务的负载比较稳定的情况,但无法应对任务负载波动的情况,可能导致一些处理器负载过高,而其他处理器负载较低。
动态负载均衡调度策略是指根据实时任务的负载情况,实时调整任务的分配和处理器的负载。
这种策略能够更加均衡地分配任务,提高系统的整体性能,但实现起来较为复杂,可能会带来一定的开销。
三、比较评估实时任务调度和实时负载均衡调度是实时系统中不可或缺的两个方面,它们在实时系统中的作用和优点各不相同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析RM与EDF实时调度算法1 引言与非实时系统相比,嵌入式实时系统因其所控制物理过程的动态性,要求运行于其中的单个任务必须满足其时限要求,以确保整个系统的正确性和安全性[1]。
在航空航天、电信、制造、国防等领域,对实时系统有着强烈的应用需求。
实时处理和实时系统的研究和应用工作已经有了相当长的历史,在实时任务调度理论、实时操作系统、实时通信等方面取得了大量成果。
实时任务调度理论是实时处理技术的核心和关键[2]。
这是因为,实时任务具有时限要求,在一个或多个处理器之间调度实时任务,需要判断是否每个任务的执行都能在其截止期限内完成。
如果每个任务的执行都能在其截止期限内完成,则称该调度是可行。
可调度性判定就是判定给定的n个实时任务在应用某种调度算法的前提下能否产生一个可行的调度。
调度算法的设计要尽可能满足任务可调度性的要求[3]。
2 实时调度分类由于实时系统的侧重点不同,实时调度亦有多种分类方式。
常见的分类有,根据任务实时性要求的重要程度,分为硬实时调度和软实时调度——在硬实时调度中任务必须在其截止期限内执行完毕,否则将产生严重后果。
而对于软实时任务,当系统负载过重的时候,允许发生错过截止期限的情况,根据任务是在一个或多个处理器上运行,分为单处理器实时调度和多处理器实时调度,多处理器实时调度又可分为集中式调度和分布式调度;根据调度算法和可调度性判定是在任务运行之前还是运行期间进行的,分为静态调度、动态调度和混合调度;根据被调度的任务是否可以互相抢占,分为抢占式调度和非抢占式调度;根据任务请求到达的情况不同。
分为周期性任务调度和非周期性任务调度。
不同调度方式具有各自的优缺点,适用于不同类型的实时系统。
3 RM与EDF调度算法简介1973年,Liu 和Layland 提出了一种适用于可抢占的硬实时周期性任务调度的静态优先级调度算法——速率单调(Rate Monotonic ,简称RM )调度算法,并对其可调度性判定问题进行了研究。
RM 算法是一种静态分配优先级算法,它根据任务的周期来分配优先级,周期越小,任务的优先级越高。
Liu 和Layland 在文献[4]中证明了RM 算法是最优的,即对于在任何其他静态优先级算法下可调度的任务集合,在RM 算法下也是可调度的。
RM 算法基于建立在一系列理想假设基础上的理想调度模型,而在应用中,考虑到各种因素的影响,需要对这些假设进行修正[5],目前已有大量关于RM 算法及其各种扩展情况下的调度算法以及实时任务在这些下的可调度性判定研究的文献。
最早截止期优先(Earliest Deadline First ,简称EDF )调度算法是一种动态优先级任务调度算法,它按照当前作业的绝对截止期为其分配优先级,作业的绝对截止期越短,其优先级别越高,相反,作业的绝对截止期越长,其优先级别越低。
在EDF 调度算法中,具有最高优先级别的作业总是最先得到执行。
如果当前有其他较低优先级作业正在执行,则该较低优先级作业被抢占,让位给具有最高优先级的作业执行那个,直至就绪队列中没有高于该作业优先级的作业时,该作业恢复执行。
Liu 和Layland 已经证明,EDF 调度算法的可调度利用率等于1,EDF 调度算法也是一种最优的调度算法。
尽管EDF 调度算法在处理器利用率小于等于1的情况下能够实现最优调度,但是,当系统超载时,任务调度成功率降低,切换次数增多,系统的调度性能下降。
4 相关工作首先对于一些符号、概念、术语进行如下定义:i T ——第i 个实时任务;n ——任务集合中任务的数量;i e ——任务i T 的执行时间;i p ——任务i T 的周期;t ——系统运行的时间,0t ;i r ——任务i T 的释放时间;i d ——任务i T 的相对时间限(相对于释放时间);i D ——任务i T 的绝对时间限。
任务的释放时间是指所有用来开始执行任务的资源都可用的时间,即任务开始执行的时间。
任务的绝对时间限是指任务必须完成的时间。
任务的相对时间限是指绝对时间限减去释放时间。
RM 、EDF 调度算法基于如下假设条件:(1) 高优先级的任务可以抢占低优先级的任务;(2) 没有任务有非抢先的部分,并且抢先的成本可以忽略;(3) 只有处理器资源是竞争的,内存、I/O 和其他资源是足够的,即无需竞争;(4) 所有任务都是无关的,不存在先后次序的约束;(5) 任务集合中的所有任务都是周期性的;(6) 任务的相对时间限等于它的周期。
这些假设是RM 和EDF 算法的基础,是对理想情况的研究,在实际实时系统项目中会考虑各种因素的影响。
本文提到的混合算法也是基于以上假设。
5 RM 、EDF 及混合调度算法分析在RM 调度算法中,任务的优先级与它的周期反向相关,如果i T 任务j T 比的周期小,则i T 比j T 的优先级高。
处理器总是优先执行当前处于就绪状态的优先级最大的任务,并且任务的优先级固定。
RM 调度算法对于给定周期性任务集可调度性的充分条件是:1/1(21)n n i i ie n p =≤-∑ (1) 在EDF 调度算法中,任务的优先级与它的绝对时间限相关,处理器总是优先执行当前处于就绪状态的绝对时间限最早的任务,任务优先级并不固定,随着它们的绝对时间限的接近程度而变化。
EDF 调度算法对于给定周期性任务集可调度性的充分必要条件是:11n i i ie p =≤∑ (2) 式(1)和(2)中1/n i i i e p =∑是指任务集的工作负载。
由于1/(21)n n -随着值的增加单调递减,所以当1n ≥时,1/(21)1n n -≤。
这说明RM 调度算法比EDF 调度算法能承受的工作负载要低。
RM 算法虽然承受的工作负载要低,但性能稳定。
EDF 算法可以承受较高的工作负载,但是一旦过载,其性能急剧下降。
另外,RM 属于静态调度算法,适合于问题要求比较明确的系统,额外开销小,可预测性好。
但是,由于静态调度算法一旦做出调度决定后,在整个运行期间就无法再进行更改,因此,它的灵活性不如动态调度算法,不适合不可预测环境的调度。
EDF 是一种动态调度算法,需要在变化的环境中做出反应,这类算法应用 比较灵活,适合于任务不断生成的动态实时系统中。
但是动态调度算法的可预测性差并且运行开销较大。
关于混合调度算法的研究,Liu 和Layland 在文献[4]中提出了一种方案。
对于一个任务集而言,其中任务1,2,,k ,这k 个任务是具有最短周期的任务,采用固定分配优先级的RM 算法调度执行,而余下的任务1,2,,k k m ++则采用EDF 调度算法执行。
这种调度算法只是简单的将任务分为两组,每组分别采用不同的调度算法,并没有很好的将RM 与EDF 调度算法相结合。
5 RM 和EDF 算法的理论发展与实际应用对RM 及其扩展可调度性的研究,一方面要从理论上研究更好的最小上界算法,找更优化的确切和构造性算法。
另一方面也要对这些算法的性能进行测试、分析和比较。
但迄今为止,对这些算法的性能分析都是基于理论上的定性分析或者只是少数几种算法之间的简单比较,这不利于实时系统的开发[5]。
此外,由于RM 算法作为代表固定优先级调度的经典实时调度算法,可被应用于实时操作系统(RTOS)的嵌入式实时系统,而任务的上下文切换开销对此类应用的性能有很大的负面影响。
目前所建立的理想化调度理论基本上都忽略了在非理想资源上调度一个任务集所产生的实现开销,因此实时调度理论与其在特定硬件平台上操作系统内核中的实现存在着很大的差距。
EDF调度算法是一种抢占式调度算法,为了适应不可抢占任务的需要,Jeffay 等人在1991年提出了非抢占式EDF调度算法(Non-Preemptive Earliest Deadline First,NPEDF)。
NPEDF中一个任务一旦执行就要执行完成。
调度程序只是在一个任务执行完成后才决定下一个要执行的任务,这与抢占式方案在每个时钟单位选择要执行的任务不同[6]。
在国防、金融、电信、航空等重要应用领域中,往往要求分布式系统具有实时性。
现有对端到端实时任务调度模型的研究成果集中在固定优先级的周期性端到端实时任务调度。
而将动态优先级算法(主要是EDF调度策略)用于实现端到端时延保证的研究,主要集中在实时通信领域[7]。
虽然在现有的大多数实时操作系统中,内核仅支持固定优先级调度,在此基础上实现EDF调度的代价过高。
但最新研究表明,如果在操作系统内核为作业提供绝对截止期表示机制,在内核中实现的EDF调度器的复杂度与固定优先级调度器相当,而由于抢占引起的作业切换次数要小得多,在作业延迟抖动等方面具有与固定优先级调度器相当或更佳的性能。
目前正在兴起的开放源码实时操作系统也为修改核心以支持动态优先级调度机制提供了可能性。
可以预计将有更多的实时操作系统支持内核级的EDF 调度算法。
参考文献[1] 罗玎玎,赵海,孙佩刚等.RM的运行时开销研究与算法改进[J] .通信学报,2008,29(2) .[2] 王济勇,赵海,林涛等.计算机学报[J],2005,28(2).[3] 王永吉,陈秋萍.单调速率及其扩展算法的可调度性判定[J] .软件学报,2004,15(6).[4] Liu CL , Layland JW . Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of ACM [J].1973,20(1):174-189.[5] 邢建生,刘军祥,王永吉.计算机研究与发展[J],2005,42(11) .[6] 王济勇,林涛,王金东.EDF调度算法抢占行为的研究及改进.电子学报[J],2004,32(1) .[7] 萧伟,冯怡宝,应启.改进型EDF调度算法的研究与实现[J] .计算机工程,2009,35(18) .。