实时系统.ppt
《实时系统.ppt》由会员分享,可在线阅读,更多相关《实时系统.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实时系统实时调度算法之报告人:陆王博2006 年 2 月 9日由我的设计课题所引出系统中断描述表系统软件结构图中断函数中断函数中断向量中断向量功能描述功能描述优优先先级级CD_INT0 xFFE6HART载波侦测中断地址12MODBUS_timer_int0 xFFE4MODBUS定时中断地址 13HART_timer_int0 xFFE2HART定时中断地址14UART0_int0 xFFD6SCI0中断地址17UART1_int0 xFFD4SCI1中断地址18Signal A:Modbus发送缓冲区满;Signal B:Modbus接收缓冲区满;Signal C:HART接收缓冲区满;S
2、ignal D:HART发送缓冲区满;一、实时系统的分类二、实时系统的几个重要概念三、时钟驱动调度 时间片轮转调度算法 四、优先级驱动调度 (一)静态调度算法RM算法 DM算法 (二)动态调度算法EDF算法 LLF算法五、调度算法总结一、实时系统的分类 根据所解决问题的性质根据所解决问题的性质:静态调度、动态调度静态调度、动态调度 根据任务是否可以被抢占:抢占式调度、非抢占式调度 根据任务的实时性要求:硬实时调度、软实时调度 根据实时系统运行环境:单处理机调度、多处理机调度 根据调度器的体系结构:集中式调度、分布式调度 三种常用的实时调度方法:时钟驱动调度、加权轮转调度和优先级驱动调度。加权轮
3、转调度方法主要用于调度高速交换网络的实时通信。周期(Ti)周期任务所具有,表示任务周期性执行的间隔时间。执行时间(Ci)指任务占用CPU的时间。由于每次执行的软件 环境的差异性,导致任务在各次具体执行过程中的计算时间不同,因此通常用最坏情况下的执行时间来表示。就绪时限(Ri)任务具备了可执行条件的时刻。相位(i)任务第一次就绪的时刻。截止时限(截止期)有绝对截止时限(di)和相对截止时限(Di)两种表示方法。绝对截止时限(di)是任务必须完成的时刻。相对截止时限(Di)是任务所允许的最大响应时间。Di=di Ri CPU利用率执行时间(Ci)与周期(Ti)之比,是衡量算法优 劣的重要参数。二、
4、实时系统的几个重要概念描述一个任务的两种方法:用(i,Ti,Ci,Di)来描述一个任务。例如,(1,10,3,6)是一个周期任务,它的相位是1,周期是10,执行时间是3,相对时限是6。因此,该任务在时刻1第一次就绪,到时刻7必须执行完毕;第二次就绪在时刻11,到时刻17必须执行完毕,依次类推。CPU利用率为0.3。只用(Ti,Ci)来描述一个任务。例如,(10,3),它表示默认相位为0,周期为10,执行时间为3,默认相对时限等于其周期。因此,该任务在时刻0第一次就绪,到时刻10必须执行完毕;第二次就绪在时刻10,到时刻20必须执行完毕,依次类推。CPU利用率为0.3。三、时钟驱动调度 时间片轮
5、转调度算法 时间片轮转调度算法的适用情况:当两个或多个就绪任务具有相同的优先级,且它们是就绪任务中优先级最高的任务时;时间片的选择:时间片太大,时间片轮转调度就没有意义;时间片太小,任务切换过于频繁,处理器开销大,真正用于 运行应用程序的时间将会减小。四、优先级驱动调度 很多经典的调度算法都是基于优先级的,分静态优先级调度和动态优先级调度,在静态优先级调度中,系统任务序列的周期、截止时限、执行时间、CPU利用率等时间特性参数都是己知的,系统任务执行的顺序都可以计算出来。比较经典的静态实时调度算法有速率单调(Rate Monotonic RM)调度算法和单调截止期限(Deadline Monol
6、ithicDM)调度算法。在动态优先级调度中,任务的优先级是可变的,它基于一个有序的优先级序列,这个序列是按照任务的某一个时间特性参数如截止时限、紧急程度或周期而排列的,在运行过程中,这个序列的优先级会由于任务的运行改变时间特性参数而发生变化。比较经典的动态实时调度算法有最早截止期优先(Earliest Deadline FirstEDF)调度算法和最低松弛度优先(Least Laxity First LLF)调度算法。(一)静态调度算法RM算法 速率单调(Rate Monotonic-RM)调度最早是在1973年由Liu和Layland 提出的。它是基于任务的周期给任务指定优先级。RM算法是
7、基于如下假设的基础上进行分析的:所有任务都是周期任务;任务的相对截止时限等于周期;任务在每个周期内的执行时间都相等,为一个常量;任务间没有通信,也不需要同步;任务在执行的任何位置都能被抢占,不存在临界区。对于 RM 调度算法,优先级最高的任务是周期最短的任务,优先级次高的任务是周期次短的任务,依次类推。当有多个任务可供执行时,周期最短的任务首先得到服务。如果把任务的优先级描绘成关于它们速率的函数,其结果是一个单调递增函数,因此称作速率单调调度。(一)静态调度算法RM算法 满足RM算法调度可行性的充分条件如下:给定任务集S=P1,P2,Pn,每个任务都有一个固定周期Tn和执行时间Cn,如果这个任
8、务集的CPU利用率满足下面的条件:(Cn任务Pn执行时间;Tn任务Pn周期)则该任务集用RM算法调度是可行的,RM调度对任务集S是一个可行调度。这里L(n)表示n个任务的CPU 利用率的最小上界,当时,整个任务集的负载小于L(n)时,RM算法调度是可行的,但是当任务集的负载大于L(n)时,并不能判定RM 算法的可行性。(一)静态调度算法RM算法例:有3个周期任务,P1=(4,1),P2=(10,2),P3=(20,5)。P1的优先级最高,因为它的速率最高(即周期最短)。P2的优先级次之,P3的优先级最低。首先证明RM调度算法的可行性:可以看出,这3个任务的CPU总利用率小于RM的上界(0.70
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时 系统
限制150内