【技术实现步骤摘要】
本专利技术涉及计算机领域的嵌入式实时操作系统,特别涉及一种。
技术介绍
在多任务的嵌入式实时操作系统中运行着多个不同的任务,一个任务就是一个运行的程序,任务间不可避免的要进行数据的交换,这种任务间的数据交换过程被称为任务间通信,任务间通信是嵌入式实时操作系统中不可缺少的功能。目前在多任务嵌入式实时操作系统中常用的任务间通信方式有消息邮箱和消息队列两种。消息邮箱是大多数多任务操作系统任务间通信的一种方式,一个邮箱是公认的一块内存区域。一个任务通过内核服务把一则消息放到邮箱里去,一个或多个任务可以通过内核服务接收这则消息。消息队列实际上是邮箱阵列。任务可以通过内核提供的服务把一则消息放到消息队列里去,一个或多个任务可以通过内核服务从消息队列中接收这则消息。通常,先进入消息队列的消息先被传递给任务,即先进先出原则。消息邮箱和消息队列有其共同的缺点首先,在某些嵌入式实时操作系统中,如在开放源代码的μC/OS中,一个消息邮箱或消息队列只能为一个任务发送消息,多个任务不能使用同一个邮箱或队列发送消息。当有许多任务需要发送消息时就需要为每个任务新建一个邮箱或队列,这样会消耗 ...
【技术保护点】
一种嵌入式实时操作系统中基于消息对象的任务间通信方法,其特征在于:该方法主要由发送消息对象、接收消息对象、过滤机制和通知机制四大模块组成,整个消息传递由消息发送部分和消息接收部分这两个主要过程组成:1)、消息发送部分中发送消息的过程 ,具体步骤如下: 1.1)、任务指明发送消息对象和需要传送的消息数据;1.2)、遍历与发送消息对象进行通信的接收消息对象,根据用户设定的过滤算法对消息进行过滤,未通过的消息被丢弃,通过过滤的消息进入下一步;1.3)、 如果是队列接收消息对象,消息数据将被存入该接收消息对象中消息队列的尾 ...
【技术特征摘要】
1.一种嵌入式实时操作系统中基于消息对象的任务间通信方法,其特征在于该方法主要由发送消息对象、接收消息对象、过滤机制和通知机制四大模块组成,整个消息传递由消息发送部分和消息接收部分这两个主要过程组成1)、消息发送部分中发送消息的过程,具体步骤如下1.1)、任务指明发送消息对象和需要传送的消息数据;1.2)、遍历与发送消息对象进行通信的接收消息对象,根据用户设定的过滤算法对消息进行过滤,未通过的消息被丢弃,通过过滤的消息进入下一步;1.3)、如果是队列接收消息对象,消息数据将被存入该接收消息对象中消息队列的尾部,如果队列已满,该操作无法进行,消息将被丢弃并队列状态将被设置为“溢出”,如果是非队列接收消息对象,消息数据将被存贮到该接收消息对象的数据存储区;1.4)、更新用于过滤机制的实时参数;1.5)、遍历下一个接收消息对象,按步骤1.3)~1.5)进行;1.6)、遍历与发送消息对象进行通信的接收消息对象,根据用户设定的通知机制执行通知内容;2)、消息接收部分中接收消息的过程,具体步骤如下2.1)、任务指明接收消息对象以及存放消息数据的缓存;2.2)、如果该接受消息对象为队列接受消息对象,则查询队列中是否存在消息,如果队列中无消息进行错误处理并退出,否则进入下一步;2.3)、从接受消息对象中获取消息数据,如果为队列接受消息对象,则从队列的头部获取消息,并将其消息从队列中移出,如果此时的消息队列为空,设置队列状态为“队空”,如果队列状态为“溢出”,则返回状态表明获取该消息前已经发生过队列数据溢出;如果为非队列接受消息对象,则直接从其缓存中获得消息。2.根据权利要求1所述的嵌入式实时操作系统中基于消息对象的任务间通信方法,其特征在于发送消息对象用户消息的发送、过滤以及触发通知机制,用户为每一个发送消息对象指定一个或多个接收消息对象,当一个任务把消息发送给发送消息对象时,这个发送消息对象负责把消息数据传递到这些指定的接收消息对象中,使得另一个任务能够从接收消息对象中获取该消息。3.根据权利要求1所述的嵌入式实时操作系统中基于消息对象的任务间通信方法,其特征在于接收消息对象用于消息的接受,一个接受消息对象只能指定一个发送消息对象与之通信。4.根据权利要求1所述的嵌入式实时操作系统中基于消息对象的任务间通信方法,其特征在于接受消息对象被分为队列接收消息对象和非队列接收消息对象两种,队列接收消息对象中有一...
【专利技术属性】
技术研发人员:赵民德,厉蒋,郁利吉,孟晓楠,孙洁,吴朝晖,
申请(专利权)人:浙江大学,
类型:发明
国别省市:86[中国|杭州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。