网站大量收购闲置独家精品文档,联系QQ:2885784924

同步互斥与通信.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

消息队列机制的主要数据结构队列控制块队列长度QCB1队列名或IDTask3Task4……接收任务等待列表Task1Task2……发送任务等待列表最大消息长度QCB2……消息队列及其相关的参数和支持数据结构SendingTaskReceivingTaskMessage1Message1Message1发送任务的内存区域消息队列的内存区域接收任务的内存区域1stcopy2ndcopy发送和接收消息的消息拷贝和内存使用这种消息传递方法效率低、占用空间大一种效率更高的方式是传递消息指针消息的发送或接收的两种方法消息队列机制的主要数据结构number_of_messagemax_message_countnumber_of_messagemax_message_sizewait_disciplinewait_queuequeue_startqueue_inqueue_outqueue_endmessagemessagemessagemessagemessagemessagemessagemessagemessagemax_message_count消息队列控制块消息队列缓冲区消息队列的环形缓冲消息队列机制的主要数据结构max_message_countqueue_endqueue_startqueue_outnumber_of_messagequeue_in消息指针消息队列状态图非空满队列创建消息数为0消息队列状态图消息发送消息数加1空消息发送消息数为1消息接收消息数为0消息接收消息数减1消息接收消息数减1消息发送消息数等于队列长度创建消息队列发送普通消息发送紧急消息发送广播消息接收消息删除消息队列获取有关消息队列的各种信息典型的消息队列操作创建消息队列时,调用者可以指定如下参数:消息的最大长度每个消息队列中最多的消息数消息队列的属性任务等待消息时的排队方式:FIFO或PRIORITY系统为新创建的消息队列分配唯一的ID创建消息队列发送消息Msg3接收任务等待列表Msg2Msg1消息队列发送普通消息-先进先出(FIFO)次序Msg3接收任务等待列表Msg2Msg1消息队列发送紧急消息-后进先出(LIFO)次序接收消息Task4High消息队列接收任务等待列表任务等待列表-基于优先级的次序Task2mediumTask3mediumTask1LowTask4High消息队列接收任务等待列表任务等待列表-先进先出(FIFO)次序Task2mediumTask3mediumTask1Low从系统中删除指定的消息队列,释放消息队列控制块及消息队列缓冲区。01任何知道此消息队列ID号的代码都可以删除它。02消息队列被删除后,所有等待从这个消息队列接收消息的任务得到一个错误信息表明消息队列已被删除都回到并回到就绪态。03删除消息队列消息队列的其他典型使用紧耦合的单向数据通信:发送任务发送消息后要求一个响应信号,表明接收任务已经成功接收到消息。Task1Task2Task2紧耦合的双向数据通信:如果数据需要在任务之间双向流动,则可以采用紧耦合的双向数据通信模式(也称为全双工通信)。消息队列的其他典型使用Task1第三节

管道概述管道机制的主要数据结构典型的管道操作管道机制的典型应用管道机制概述管道(pipe)是提供非结构化数据交换和实现任务间同步的内核对象。在传统的实现中,管道是单向数据交换设施。Task1Task2管道管道中的数据写描述符读描述符向管道写数据从管道读数据数据在管道内像一个非结构字节流,按FIFO的次序从管道中读出。当管道空时,阻塞读者,当管道满时,阻塞写者。主要内容概述信号量邮箱和消息队列管道ISRxTaskyPOSTPEND任务与ISR之间的同步(单向)TaskxTaskyPOSTPENDPOSTPEND任务与任务之间的同步(双向)任务与任务之间的同步(单向)TaskxTaskyPOSTPEND在单处理器平台上,嵌入式操作系统内核提供的同步、互斥与通信机制主要包括:信号量(semaphore),用于互斥与同步事件(组)(eventgroup),用于同步异步信号(asynchronoussignal),用于同步邮箱(mailbox)、消息队列(mess

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档