下载此文档

嵌入式设计课件2012.ppt


文档分类:IT计算机 | 页数:约255页 举报非法文档有奖
1/255
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/255 下载此文档
文档列表 文档介绍
uCOS操作系统原理- 同步、互斥与通信
概述
信号量
邮箱与消息队列
事件
异步信号
管道
1
概述(1)
多任务系统中任务之间的关系
相互独立仅竞争CPU资源
竞争除CPU外的其他资源(互斥)
同步协调彼此运行的步调,保证协同运行的各个任务具有正确的执行次序
通信彼此间传递数据或信息,以协同完成某项工作
2
任务能以以下方式与中断处理程序或其他任务进行同步或通信:
单向同步或通信:一个任务与另一个任务或一个ISR同步或通信。
双向同步或通信:两个任务相互同步或通信。双向同步不能在任务与ISR之间进行,因为ISR不能等待。
概述(2)
3
ISR x
Task y
POST
PEND
任务与ISR之间的同步(单向)
Task x
Task y
POST
PEND
POST
PEND
任务与任务之间的同步(双向)
任务与任务之间的同步(单向)
Task x
Task y
POST
PEND
概述(3)
4
在嵌入式多任务系统中,任务间的耦合程度是不一样的:
耦合程度较高:任务之间需要进行大量的通信,相应的系统开销较大;
耦合程度较低:任务之间不存在通信需求,其间的同步关系很弱甚至不需要同步或互斥,系统开销较小。
研究任务间耦合程度的高低对于合理地设计应用系统、划分任务有很重要的作用。
概述
5
在单处理器平台上,嵌入式操作系统内核提供的同步、互斥与通信机制主要包括:
信号量(semaphore),用于互斥与同步
事件(组)(event group),用于同步
异步信号(asynchronous signal),用于同步
邮箱(mailbox)、消息队列(message queue),用于消息通信
管道(pipe),提供非结构化数据交换和实现同步
概述
6
以下一些机制也可用于同步与通信(在单处理器或多处理器系统中):
全局变量
共享内存
Sockets
远程过程调用(Remote Procedure Call)
概述
7
信号量
信号量的种类及用途
互斥信号量
二值信号量
计数信号量
信号量机制的主要数据结构
典型的信号量操作
8
信号量用于实现任务与任务之间、任务与中断处理程序之间的同步与互斥。
信号量一般分为三种:
信号量的种类及用途
用于解决互斥问题。它比较特殊,可能会引起优先级反转问题。
用于解决同步问题
用于解决资源计数问题
将信号量进行种类细分,可以根据其用途,在具体
实现时做专门处理,提高执行效率和可靠性。
互斥信号量
计数信号量
二值信号量
9
用互斥信号量保护的代码区称作“临界区”,临界区代码通常用于对共享资源的访问。
互斥信号量的值被初始化成1,表明目前没有任务进入“临界区”,但最多只有一个任务可以进入“临界区”。
第一个试图进入“临界区”的任务将成功获得互斥信号量,而随后试图进入用同一信号量保护的临界区的所有其他任务就必须等待。
当任务离开“临界区”时,它将释放信号量并允许正在等待该信号量的任务进入“临界区”。
互斥信号量
Task1
Task2
共享资源
10

嵌入式设计课件2012 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数255
  • 收藏数0 收藏
  • 顶次数0
  • 上传人maritime_4
  • 文件大小1.79 MB
  • 时间2018-08-05
最近更新