嵌入式实时操作系统教程4

嵌入式实时操作系统教程4

ID:34151137

大小:450.07 KB

页数:30页

时间:2019-03-04

嵌入式实时操作系统教程4_第1页
嵌入式实时操作系统教程4_第2页
嵌入式实时操作系统教程4_第3页
嵌入式实时操作系统教程4_第4页
嵌入式实时操作系统教程4_第5页
资源描述:

《嵌入式实时操作系统教程4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、开源实时嵌入式操作系统原理和实践程序员篇(4)品质是价值和TM尊严的体现1课程目的¢介绍μTenux的基本原理¢掌握μTenux的主要系统调用¢学会基本的实时多任务设计方法悠龙软件版权所有©22面向对象¢有志于从事嵌入式软件设计人员¢有C语言基础¢掌握KEILMDK或IAREWARM或μT/Studio开发知识¢有一定操作系统原理基础知识悠龙软件版权所有©33课程设计思路¢理论和实践结合¢练习紧密结合μTenux套件¢讲解和练习囊括主要的系统调用悠龙软件版权所有©44议程¢1.Tenux的概要¢2.µT/Kernel的任务管理¢3.µT/Kernel的任务间同步和通信¢4.

2、µT/Kernel的扩展任务间同步和通信¢5.µT/Kernel的内存管理¢6.µT/Kernel的时间管理¢7.μT/Kernel的中断管理¢8.μT/Kernel的系统状态管理悠龙软件版权所有©55μT/OS的功能¢μT/Kernel:μTenux内核¢任务管理¢任务同步和通信功能¢任务扩展同步和通信功能¢内存池管理功能¢时间管理功能¢中断管理功能¢系统状态管理功能¢调试支持功能悠龙软件版权所有©66同步和通信场景¢多任务的实时系统中,一项工作的完成往往要通过多个任务或多个任务与多个中断处理过程(ISRs)共同完成。它们之间必须协调动作互相配合,甚至需要交换信息进行通信

3、。¢任务能和其他任务及ISRs交换数据¢任务能与其他任务进行同步¢单向同步:一个任务与另一个任务或一个ISR同步¢双向同步:两个任务相互同步¢与同步:一个任务与几个事件同时同步¢或同步:一个任务与几个事件中的任何第一个到达事件同步¢任务必须能对共享资源进行互斥访问悠龙软件版权所有©77同步和通信机制¢扩展机制:¢互斥体(Mutexes):¢对系统资源进行排他访问¢消息缓冲区(MessageBuffers):¢任务之间进行的变长消息通信¢集合点端口(Rendezvous):¢两个任务间类似Client/Server形式的同步和通信悠龙软件版权所有©88互斥体的示意¢A先生和B

4、先生同时使用银行的同一台ATM机(临界ATM资源)。A首先占用ATM机B先生waitlockA先生的同时插入银行卡(锁定资A先生源),操作ATM机处理业务,使用完毕后取出银行ATMunlockA先生卡(释放资源)。B先生enterA在使用ATM机的期间,B无法获取ATM机的使用权,只有A释放资源离开ATM以后,B才能获取并使用B先生lockB先生ATM机。悠龙软件版权所有©99互斥体的概要¢用途¢互斥体是一个互斥锁,使各任务交替独占访问临界资源,互斥体用来实现使用共享资源的任务之间的互斥控制¢支持优先级继承和优先级顶置协议,可作为在互斥控制中解决优先级反转问题的工具。¢构成

5、¢每个互斥体都有一个状态(锁定和解锁),和一个等待互斥体的任务队列。¢互斥体属性TA_INHERIT(=0x02),支持优先级继承互斥体属性TA_CEILING(=0x03),支持顶置优先级悠龙软件版权所有©1010优先级反转现象¢优先级反转优先级反转问题是高优先级的任务等待属于被低优先级任务占有系统资源,而形成高优先级任务等待低优先级任务运行的反常情况。如果低优先级在运行时又被其他任务所抢占,则系统运行情况将更糟。¢优先级反转示意图¢TaskA:优先级较高的任务,需使用共享资源S¢TaskB:优先级中等的任务,不使用共享资源S¢TaskC:优先级最低的任务,需使用共享资源

6、S¢共享资源S:指用互斥体机制保护的共享资源¢3个任务的执行顺序为:TaskC首先运行并获得共享资源S,TaskA和TaskB先后进入就绪状态。t2时发生了优先级反转,TaskA等待TaskC释放共享资源S,t3时TaskB抢占运行使任务反转情况更严重。TaskA请求获优先级取共享资源STaskA抢占runningTaskC运行高TaskArunningTaskB中TaskC被runningTaskB抢占runningrunning低TaskCTaskCSS时间t0t1t2t3悠龙软件版权所有©1111优先级反转问题的解决¢解决优先级反转的方法¢优先级继承协议TaskC获取

7、共享资源成功后提高其优先级与TaskA相同,来避免优先级反转。等TaskC释放共享资源后,再恢复TaskC至原来的优先级。¢优先级顶置协议给互斥体预设一个顶置优先级。当任务申请共享资源时把该任务的优先级提升到可以访问这个资源的所有任务中的最高优先级,这个优先级称为顶置优先级,TaskC获取共享资源成功后提高其优先级与TaskA相同,来避免优先级反转。等TaskC释放共享资源后,再恢复TaskC至原来的优先级。¢两种方法的区别¢优先级继承只有在占有资源的低优先级任务阻塞了高优先级的任务运行时,才会改动低优先级的任务到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。