[发明专利]一种链式结构消息申请及分发的方法在审
申请号: | 201210335933.7 | 申请日: | 2012-09-12 |
公开(公告)号: | CN102880507A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 蔺洋;温权;郭小娟 | 申请(专利权)人: | 科立讯通信股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 广东广和律师事务所 44298 | 代理人: | 刘敏 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 链式 结构 消息 申请 分发 方法 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种链式结构消息申请及分发的方法。
背景技术
随着科学技术的不断发展,应用在公安、消防、交通以及军事等领域的专业无线通信设备要求提供更高的安全性。在多任务抢占式的实时系统中,一项工作的完成往往要通过多个任务或多个任务与多个中断处理过程(ISRs Interrupt Service Routine)共同完成。它们之间必须协调动作互相配合,甚至需要交换信息进行通信。如:任务和其他任务及ISRs交换数据、任务与其他任务同步。因此必须保证任务能对共享资源进行互斥的访问。
为了满足任务间通信同步和互斥的需要,同时保证资源被安全的使用,必须对多个相关任务在执行的次序上进行协调。现有的无线通信设备中,软件开发模式存在着模块间耦合性强,复用率低,稳定性不高的瓶颈问题。
发明内容
本发明的目的在于提供一种链式结构消息申请及分发的方法,解决了应用程序对操作系统的依赖问题、增强了应用程序的可移植性及稳定性,复用率高。
本发明的目的是通过以下技术方案实现的。
一种链式结构消息申请及分发的方法,包括步骤:
a:链式结构消息的产生:消息池模块根据消息的大小,一次性分配一连续的内存空间,然后将内存根据消息体的大小分成若干块,再将这些块用指针连接起来;
b:链式结构消息的分发:消息链表模块根据消息优先级不同,发送给线程的消息将连接到目标线程消息队列的头或者尾。
优选的,步骤a与步骤b之间还包括:链式结构消息的释放:当用户使用分配消息的时候,直接从消息池的自由消息链表中取出一条消息,当用户用完该消息时,直接将消息挂回到消息池的自由消息链表中。
优选的,步骤b中发送给线程的消息包括:一般消息和优先消息;
所述一般消息链接到目标线程消息队列的最后,采用先进先出的顺序发送;
所述优先消息连接到目标线程消息队列的最前面,采用后进先出的顺序发送。
优选的,所述链式结构消息的接收包括:普通的接收消息、定时接收消息、接收消息的回复及定时接收消息的回复。
优选的,所述链式结构消息的发送包括:普通的发送消息、定时发送消息、发送消息的回复及定时发送消息的回复。
本发明与现有技术相比,有益效果在于:本发明提供的链式结构的消息申请及分发方法,采用消息池的申请和释放机制,链式消息的分发机制,解决了应用程序对操作系统的依赖问题、增强了应用程序的可移植性及稳定性,复用率高。同时也解决了不同操作系统入口的差异性,便于功能的扩展。
附图说明
图1为本发明链式结构消息申请及分发流程图。
图2为本发明消息池分配示意图。
图3为本发明消息链表传递消息示意图。
具体实施方式
本发明在消息同步通信机能上主要提供EventDispatcher、Semaphore、Mutex、Queue四种方式。一个基本的嵌入式操作系统消息机制包括:Task调度、Task管理、同步通信、中断管理、时间管理机能等。下面简要介绍下通信过程中的四种消息传递机制。
1)信号量服务
信号量提供了控制应用程序临界区运行的机制。OSAL 提供范围从0~32767(BIOS) 0~4294967295(Nucleus)的计算信号量。信号量两个基本操作是Obtain/Release。Obtain信号量请求消耗信号量,Release信号量请求增加了信号量。
挂起:
获得信号量操作提供无条件挂起、时间间隙挂起、无挂起等服务。一个试图获得当前计数值为零信号量的任务可以被挂起,当释放信号量请求发生时,任务恢复是可能的(不是一定的)。
多任务挂起试图获得同一个信号量,依靠信号量创建方式,任务既可以FIFO 顺序,也可以优先级顺序挂起。如果信号量支持FIFO 挂起,任务按照它们试图获得信号量的顺序恢复;另外,如果信号量支持优先级挂起,任务从高优先级到低优先级顺序恢复。
死锁:
各任务在使用系统资源时,应注意系统产生死锁的问题。所谓死锁,是指各并发任务彼此互相等待对方所拥有的资源,且这些并发任务在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发任务不能继续向前推进的状态。
2)互斥锁服务
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科立讯通信股份有限公司,未经科立讯通信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210335933.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种社交网站的信息整合系统和方法
- 下一篇:一种操作功能键和终端设备