嵌入式实时操作系统μCOS原理与实践4.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:49 大小:2.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式实时操作系统μCOS原理与实践4.ppt

嵌入式实时操作系统μCOS原理与实践4.ppt

预览

免费试读已结束,剩余 39 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式实时操作系统μC/原理与实践第4章事件管理μC/OS-II作为实时多任务操作系统,是事件驱动的,支持信号量,消息等机制。事件主要包括信号量和互斥信号量,而事件的组合可以用事件标志组来管理。本章的内容包括事件管理中数据结构,事件管理程序,信号量管理,互斥型信号量管理,以及事件标志组管理。4.1事件管理重要数据结构4.1.2事件等待组和事件等待表4.1.3事件控制块空闲链表4.2.1事件控制块ECB初始化4.2.2事件等待表初始化4.2.3设置事件等待4.2.4取消事件等待4.2.5将等待事件的任务就绪4.3信号量管理4.3.1信号量的建立OSSemCreate宏OS_EVENT_TYPE_SEM的值是3,所以ECB中的OSEventType的值为3。假设该信号量为创建的第一个事件,那么图4.3的事件空闲任务链表将去掉第一个事件控制块,变为如图4.5所示。4.3.2信号量的删除OSSemDel4.3.3请求信号量OSSemPend4.3.4提交信号量4.3.5无等待请求信号量4.3.6放弃等待信号量4.3.7信号量值设置4.3.8查询信号量状态4.3.9信号量应用举例4.3互斥信号量管理4.4.1互斥信号量的建立4.4.2请求互斥信号量4.4.3互斥信号量的删除4.4.4发互斥信号量4.4.5无等待请求互斥信号量4.4.6查询互斥信号量状态4.4.7改变任务的优先级并重新就绪4.4.8互斥信号量应用举例4.5事件标志组管理4.5.1事件标志组数据结构4.5.1事件标志组数据结构4.5.1事件标志组数据结构4.5.1事件标志组数据结构4.5.1事件标志组数据结构4.5.2事件标志组初始化4.5.2创建事件标志组4.5.3事件标志组阻塞函数4.5.4请求事件标志4.5.5删除事件标志组4.5.6提交事件标志组4.5.7标志节点任务就绪4.5.8无等待的请求事件标志4.5.9事件标志管理应用举例习题1.事件控制块的初始化过程对哪里数据结构进行了处理,都做了哪些处理。假设最大事件数量是5,画出初始化后的空闲控制块链表。2.解释事件等待函数OS_EventTaskWait,该函数是如何实现在事件等待表中添加任务的事件等待标志的?3.解释取消事件等待函数OS_EventTaskRemove,该函数是如何实现在事件等待表中取消任务的事件等待标志的?4.用流程图形式画出将等待的任务就绪函数OS_EventTaskRdy的流程。5.有任务A、任务B、任务C均访问资源R,资源R只能被两个任务同时访问。应该采用哪种事件处理机制来管理对R的访问,请编写这三个任务。(任务的其他信息自己定义)6.互斥信号量管理和信号量管理的最大区别是什么?假设有高优先级任务A、中优先级任务B、低优先级任务C均访问互斥资源源R,并有中优先级的任务D也在运行。采用信号量管理实现A、B、C对互斥资源R的独占访问,说明为什么产生优先级反转。上机验证。7.上题中,改用互斥信号量管理来编程,说明为什么解决了优先级反转问题。上机验证。8.事件标志组管理应用在什么情况下?给出例子。