[发明专利]协同并发式消息总线、主动构件组装模型及构件拆分方法有效

专利信息
申请号: 201310020046.5 申请日: 2013-01-18
公开(公告)号: CN103473031A 公开(公告)日: 2013-12-25
发明(设计)人: 龙建 申请(专利权)人: 龙建
主分类号: G06F9/38 分类号: G06F9/38;G06F9/455;G06F9/48;G06F9/50
代理公司: 北京市盛峰律师事务所 11337 代理人: 赵建刚
地址: 213001 江苏省*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 协同 发式 消息 总线 主动 构件 组装 模型 拆分 方法
【说明书】:

技术领域

发明属于计算机技术领域,具体涉及一种协同并发式消息总线、主动构件组装模型及构件拆分方法。

背景技术

众所周知,软件设计的终极目标为:真实世界是什么样子,软件就应当设计成什么样子,从而实现通过软件模拟真实世界的目的。由于真实世界是纷繁复杂地,如实地模拟真实世界往往并不容易。前人经过多年的实践发现,软件系统对真实世界的每个细节模拟得越逼真,软件就越容易设计、理解与维护。由于面向对象编程真实地模拟了现实世界的事物,容易理解、方便维护、容易变更,因此,面向对象编程取代了面向过程编程,成为目前主流的编程方式。

然而,由于硬件成本等多种因素的限制,在现实世界中,无处不在的、多个对象同时动作的“并行”活动,在单台计算机中,却极少能够真实模拟。现代计算机软件系统中,绝大部分都只呈现“伪并行”活动:从宏观上看,一台计算机能够同时执行多个任务、多个程序,若干对象同时在运行;但从微观上看,在任一瞬间、任一时刻,则只有一个程序在运行。由于处理器速度非常快,它在几个程序间来回快速切换,经过稍长一段时间,我们就觉得这几个程序是在同时执行、同时活动。这种现象,通常称之为“并发”,以区分严格意义上的“并行”活动。

一般在操作系统等中低层软件中,提供相应的并发技术实现机制,并对外提供专门的并发服务接口,以便上位程序能完成并发活动。上位应用程序,则调用这些并发服务接口,使自己呈现为一个或多个并发的任务。

并发实体(任务、进程、线程、纤程等)间的调度操作(用于操作系统、软件总线等),提供了并发技术的实现机制。现代操作系统中,剥夺式调度是普遍采用的调度策略。但它具有若干致命弱点,试列举如下:

(1)堆栈空间问题:剥夺式调度随时可能打断并发实体的执行过程,因此需要保护与恢复并发实体运行环境(最少需要包含指令寄存器等),这需要RAM堆栈空间。在普通运行场合(如PC机),这个问题不突出。但在大量并发实体(如单片机在数千网络连接)的情况下,问题将变得相当突出;在RAM稀缺的特殊场合(如WSN应用)下,调度将变为不可行。

(2)执行效率问题:由于需要保护与恢复并发实体运行环境,这部分调代码的执行是必须增加的。在非常轻量级调度的情况(如TinyOS)下,相对于调度整体执行时间,它所增加的执行时间是非常可观的,严重影响了轻量级调度的执行效率。

(3)竞争共享问题:剥夺式调度随时可能打断并发实体的执行过程,因此,所有并发实体间共享的数据与资源,都成为被竞争的对象,变成临界资源。如果把所有的这些被竞争对象,都用临界区或其它统一的通用措施保护起来,那么系统的整体运行效率将会降低到不可接受的程度。如果精心设计共享结构,只采用通用措施保护部分对象,则在编程与维护代码时,稍不当心就会引发临界资源竞争导致的时序故障(这类故障还特别难以重现与定位),对编程人员与维护人员的职业素养要求将会提高很多,提高了设计与维护成本,降低了系统可靠性。特别是对于大量无规律的共享并发数据(如上百个不同的特殊线程),在编程实践中,一般开发人员都望而生畏,除非特别必要,均避而远之。

(4)竞争复用问题:前述为了效率提升而进行优化的数据共享设计,会带来代码复用性问题。由于针对项目的竞争环境,采用了针对性地消除竞争的共享数据保护代码,这些代码一般不具备普遍的通用性。即使对于其它非常相似的项目,也很有可能面对的是其它不同的数据竞争条件,因此,需要做出另外优化的数据共享设计,不能直接复用原来模块。

TinyOS是加州大学伯克利分校(UC Berkeley)为无线传感器网络WSN(Wireless Sensor Network)开发的微内核操作系统。TinyOS的两层调度方式为:任务调度与硬件事务调度。硬件事务调度由硬件中断激活,可抢占普通任务,主要用于高优先级的快速实时响应。它基本雷同于一般中断处理程序,稍有出入的地方在于:它可以向任务调度发送信号,激活普通任务;同时,还能利用nesC关键字async的异步能力,直接调用进入到nesC构件系统中,调用构件中的命令处理函数,并给构件发送异步事件。

TinyOS的基本任务为无参数函数。任务调度采用协同式的先进先出(FIFO)算法,任务之间互不抢占,没有优先级之分。一旦一个任务获得了处理器,就一直运行到结束。一般用于对时间要求不高的应用,本质上是一种延迟计算DPC(Deferred Procedure Call)机制。TinyOS 2.x调度器可由用户定制与替换。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙建,未经龙建许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310020046.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top