嵌入式系统7-RTOS基础课件

上传人:我*** 文档编号:145828400 上传时间:2020-09-24 格式:PPT 页数:36 大小:96.50KB
返回 下载 相关 举报
嵌入式系统7-RTOS基础课件_第1页
第1页 / 共36页
嵌入式系统7-RTOS基础课件_第2页
第2页 / 共36页
嵌入式系统7-RTOS基础课件_第3页
第3页 / 共36页
嵌入式系统7-RTOS基础课件_第4页
第4页 / 共36页
嵌入式系统7-RTOS基础课件_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《嵌入式系统7-RTOS基础课件》由会员分享,可在线阅读,更多相关《嵌入式系统7-RTOS基础课件(36页珍藏版)》请在金锄头文库上搜索。

1、RTOS基础,潘建,实时多任务OSRTOS,单片机 无os 主程序 RTOS 资源包装 API 可移植,实时系统,在实时计算中,系统的正确性不仅仅依赖于计算的逻辑结果而且依赖于结果产生的时间 响应时间限定 可预知,实时操作系统与I/O,实时操作系统还需要有效的中断处理能力来处理异步事件和高效的I/O能力来处理有严格时间限制的数据收发应用。 系统应该有在事先定义的时间范围内识别和处理离散的事件的能力。 系统能够处理和存储控制系统所需要的大量的数据。,实时系统分类1,周期性的系统 系统通过传感器或其他设备周期性的探测外部环境的变化,在周期内对探测到的变化作出反应。比如化工厂中的反应炉的控制。 非周

2、期性系统 外部事件是循环性的发生的但不是有规律的或者是突发事件。比如一架客机飞入一个空中交通管制的管制范围所产生的事件。,实时系统分类2,硬实时系统:灾难后果 硬实时系统就是系统必须及时的对事件作出反应,绝对不能发生错过事件处理的deadline的情况。在硬实时系统中一旦发生了这种情况就意味着巨大的损失和灾难。比如控制核电站的系统,如果没有对堆芯过热作出及时的处理,后果不堪想象。 软实时系统:性能下降 系统在重负载的情况下允许发生错过deadline的情况而不会造成非常大的危害。比如在通信系统中允许105个电话中有一个接不通。,Rtos的历史,1)早期的监控系统 系统init 时钟 简单的任务

3、调度 2)专用实时OS 依赖于特定硬件 移植性不好 3)通用RTOS,嵌入式软件开发平台,RTOS 标准化 可移植 设备独立,RTOS基本struct,实时多任务core 任务管理:多任务和基于优先级的任务调度 定时器:系统的实时时钟服务,以及各个定时任务的调入等 Mem:管理系统的内存资源,如DRAM,ROM,FLASH等 资源管理:管理系统的各种资源如系统的各种设备,端口,中断等; 事件和消息管理:管理各种系统级的事件,如实时中断响应,各种异常等;任务间同步和通信(信号量和邮箱等)以及各种系统消息和应用程序之间的通讯,RTOS的系统调用 90%以上的设备独立 RTOS的任务分时系统Proc

4、ess,与通用OS区别,通用: 方便用户管理计算机资源 追求系统资源最大利用率 RTOS 调度的实时性 响应时间可确定性 高可靠性,RTOS与分时系统,事件响应时间限定 事件随机到达 系统可确定性,性能衡量标准,对传统的通用系统: 大的系统吞吐量 合理的响应速度 对每个系统用户相对公平的进行计算资源的分配 实时系统 实时的数据吞吐取代了以吞吐量为目标的标准。 对硬实时应用的优先响应取代了对每个用户的恰当的反应速度。 系统的计算资源和其他外设资源必须优先满足实时应用的要求,RTOS的衡量指标,系统响应时间(System response time ):系统发出处理要求到系统给出应答信号的时间;

5、任务切换时间(Context-switching time):任务之间切换而使用的时间; 中断延迟(Interrupt latency time ) :是计算机接收到中断信号到操作系统作出响应,并转入中断服务程序的时间;,任务切换时间,当由于某种原因使一个任务退出运行时,RTOS保存它的运行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需时间称为任 务切换时间。 控制权取回 交给另外一任务,中断延时时间,确认中断-中断服务第一语句执行 三部分 Microprocessor 的硬件延时 RTOS由中断将权利交给相关代码的时间 中断禁止时间,最大中断禁止时间,

6、当RTOS运行在内核态或执行某些系统调用的时候,是不会因为外部中断的到来而中断执行的。只有当RTOS重新回到用户态时才响应外部中断请求,这一过程所需的最大时间就是最大中断禁止时间。,可中断式内核,中断发生时;即使运行核心服务也保证一定时间内响应 缩短中断延时时间,RTOS的任务调度机制,决定了多任务能力与实时性 通用模式: 调度策略:优先级调度、时间片轮转调度 调度方式:抢占式、不可抢占式、选择可抢占式 时间片:定长时间片与变长时间片 RTOS一般使用抢占式任务调度,时间限定的任务调度算法,Rate Monatomic/Pacing :静态优先级 此算法给系统中每个任务设置一个静态的优先级。这

7、个优先级的设定是在计算任务的周期性和任务需要满足的deadline的时间的长短的基础上完成的。周期越短,deadline越紧迫,优先级越高。按周期或计算要求将任务细分成程序块,整个任务的执行开销为P/(C/CP)( P是周期,C是计算开销,CP是块的大小)。这样就将整个任务的执行按紧迫性要求分散在整个周期内。这种算法允许系统以多任务方式执行。,Deadline Driven:动态的优先级 根据任务满足deadline的紧迫性来修改任务的优先级,以保证最紧迫的任务能够及时完成。当系统的负载相对较低时,这种算法非常有效。但是当系统负载极端沉重时会引起大量的任务发生时间错误(missing the

8、deadline)。甚至可能导致CPU时间大量花费在调度上,在这时系统的性能还不如FIFO方法。根据计算当系统负载超过50%时系统性能急剧下降,所以实际上没有哪个实时操作系统使用这种方法。,Priority Ceiling:抢占式多任务 基本思想是在系统中使用优先级驱动的可抢先的调度算法。系统首先调度高优先级的任务运行。低优先级的任务在高优先级的任务运行时不能抢先;CPU由高优先级进程独占。当中断发生时,正在运行的任务被中断,进入中断处理。如果中断引起的操作是属于一个较低优先级的任务的,那么为了保证中断被及时的处理,此低优先级进程暂时继承原来当中断发生时正在运行的高优先级任务的优先级。当处理完

9、关键区域后,此低优先级任务恢复原来的优先级并被挂起,然后恢复原来高优先级任务的运行。这种算法保证了高优先级的任务不会被低优先级的任务所挂起,即优先级倒挂现象的出现,MMU 实模式 保护模式 两个基本任务: 为系统中运行的许多实时或非实时任务提供共享的内存。 提供虚拟内存。享受虚拟内存的好处的同时也是有代价的,Mem管理,内存管理vs实时,两种解决方法 预先分配内存。就是在系统构造或编译时为每个任务指定其使用的内存空间。这种方法对于硬实时系统来说是很合适的。而且嵌入式实时操作系统很多都是在ROM中运行,仅仅只有需要变化的数据才放在RAM中。这种系统在组成上无疑是静态的。 另一种方法是系统可以有虚

10、拟内存,但必须给实时任务提供方法,以便将实时任务锁进内存,也就是系统在管理虚拟内存时,不将锁住的内存块换出物理内存。这样可以提供比较好的响应速度和操作的可预见性。但是不适合硬实时系统。因为虚拟内存引起的问题并没有解决。,最小mem开销,Price 256K RAM 4M 32M RAM,任务,分时系统以进程(线程)为基本单位 RTOS以任务为基本单位 组成: 任务控制块 程序区 数据区 堆栈区 系统堆栈 用户堆栈,任务的状态,运行 就绪 挂起 休眠,任务的同步与通讯,消息 事件 信号量 信箱 共享内存,消息,系统公用数据交换区 私有消息缓冲区 公用消息缓冲池 消息机制 创建 删除 接受消息 发

11、送消息 广播消息 紧急消息 消息可以是定长与不定长,事件,应用于同步,通讯数据量不大 接受事件 发送事件 RTOS一般有1532个事件,信号量,创建 删除 P操作 V操作 RTOS需要解决优先级倒置问题,优先级倒置问题,条件 高优先级任务H 低优先级任务L 中优先级任务M 共享内存Y,写操作 信号量S,互斥,步骤 1)L取得S(P操作),但是未做V操作 2)H抢占L,H运行态 3)H写Y,但是Y的S被占用 4)L重新取得控制权 5)M出现,取得控制权 结果: M比H优先,如果不断的M出现,H不能执行,解决方法,1、采用非抢占式任务管理 2、优先级继承: Vxworks L抢回控制权后,暂时继承H的优先级,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号