软件总线制造技术

技术编号:10499447 阅读:118 留言:0更新日期:2014-10-04 16:08
本发明专利技术涉及软件模块之间,特别是软件总线之间进行通信的方法的领域。这里描述了一种可实现软件模块间通信的软件总线。这种通信出现在机器间,并交替作用于软件模块,不论此软件模块是否正在处理进程、轻量进程或简单任务。这种通信依赖于适应多任务等级的机制,发送器软件模块和接收器软件模块运行在此等级上。此通信基于分层体系架构,需经由总线进行通信的多个软件模块的发现和记录阶段。

【技术实现步骤摘要】
【国外来华专利技术】软件总线本专利技术涉及在软件模块之间,特别是在软件总线之间进行通信的方法的领域。信息处理装置在操作系统的控制下进行工作。这些操作系统是多任务的,并使得多个软件模块的调度成为可能。根据组织多任务和模块层次可能性的调度器,这些软件模块可以分为几种类型。在历史上,操作系统使进程的调度成为可能。进程被定义为拥有自身控制和自身存储空间的软件模块。现今,进程的调度通常使用抢占式的方式来执行。换句话说,调度器可随意地决定在进程之间进行上下文切换的时间。随后,当前进程的上下文(通常是内存缓存中的内容、处理器寄存器中的内容以及指示控制的指针)被存储。等待中的另一个进程被选择,并且其上下文被恢复。之后,这个进程就可继续它的执行过程。上下文切换是一个相对复杂的过程。驱动较轻并行软件模块的需求已经出现。线程的概念也因此被创建。一般来说,一组线程是在公用存储空间进行调度的,它通常是一个进程的情况。在某些情况下,能够实现补充级并且能够实际上在线程中调度一组任务。该调度随后会变为或不变为抢占式的。在任务将控制明确地传递给调度器的情况下,另外一类调度族,合作调度,在出现特定系统调用的时刻发生。主要的区别涉及以下事实:在这类调度中,进入无限循环的任务可能会妨碍系统接管和阻塞整个系统。因为任务在任何时间都不能被中断,所以这种调度的优势在于:不必对由互斥(mutex)机制共享的资源进行保护。因此,我们可以将执行在信息处理设备上的软件看作一个或多个进程,每个进程可使其自身包括一个或多个线程,每个线程又能够包括一个或多个任务。对于进程和线程的调度被认为是抢占式的,而对于任务的调度可能是也可能不是抢占式的。我们通常用软件模块这个术语来命名所有的进程、线程和任务。软件模块的层次由图1所示。在其中可看到信息处理装置1.1。此装置使三个进程1.2、1.3、1.4能够被并行执行。这些进程由操作系统1.16来进行调度。包含一些并行执行线程1.5、1.6、1.7和1.8的进程1.2由操作系统1.16调度。进程1.3不包含任何线程。进程1.4包含首要线程1.9和次要线程1.10。这个次要线程1.10本身包含一些在调度器1.14的控制下并行执行的任务1.11、1.12和1.13,调度器1.14自身则在线程1.10中执行。这种装置具有至少一个通信端口 1.15,该至少一个通信端口 1.15提供经由通信网络(通常是IP网络)与其他装置的通信。当需要进行软件模块通信时,专用于给定级别的并行度的解决方案已在先前技术中被发现。其主要技术是专用于进程间通信的。信息列队、用于同一装置的进程间通信的UNIX套接字和用于连接至IP (互联网协议)网络的远程设备上的进程间通信的INET套接字可被引用。可以存在软件总线,如用于进程间通信的系统的D-Bus。但它并不适用于如简单任务的软件模块,也不适用于线程或机器间的通信。本专利技术旨在提出一种可提供软件模块间通信的通信系统或软件总线。这种通信存在于单个机器中且位于不同机器间,并且无差别的作用于软件模块上,不管是在进程、线程还是简单任务的情况下。这种通信基于适用于多任务等级的机制,发送器和接收器软件模块就运行在这个多任务等级上。这种通信基于层次架构和需要经由总线进行通信的多种软件模块的发现阶段和记录阶段。
技术实现思路
因此,本专利技术涉及一种信息处理装置,这种装置包括: -操作系统: -至少一个进程,由所述操作系统调度,以及 -线程,能够由所述操作系统在所述进程中进行调度。 其特征在于,所述信息处理装置还包括: -至少一个用户任务或者系统任务,位于各线程中, -各线程本身包含针对所述线程中包括的各个任务的FIFO、以及线程类型的、本身集成了用于调度所述线程的一个或多个任务的专属调度器的总线管理模块, 其特征还在于,为了使第一任务能够向第二任务发送消息,所述信息处理装置包括: -用于寻找所述第二任务所依靠的进程的装置,以及 -在所述第二任务和所述第一任务属于相同进程的情况下用于在所述第二任务专用的FIFO中传送所述消息使得所述第二任务能够考虑所述消息的装置, -在所述第二任务属于与所述第一任务所依靠的进程不同的进程的情况下 -用于在所述第二任务所依靠的进程的线程中创建远程中继任务的装置, -用于在所述第一任务所依靠的进程的线程中创建中继任务的装置, -用于在所述第一任务所依靠的进程与所述第二任务所依靠的进程之间创建连接的装置, -用于在所述中继任务专用的FIFO中传送所述消息的装置, -用于经由所述连接将所述消息发送至所述远程中继任务的装置, -用于在所述第二任务的FIFO中传送所述消息使得所述第二任务能够考虑所述消息的装置。 有利地,所述用于寻找所述第二任务所依靠的进程的装置包括与各个进程相关的总线管理模块,所述总线管理模块中的每一个均包括列出进程的任务和线程的路由表,其中任务和线程依靠进程。 有利地,对于各个进程,用于在所述中继任务与所述远程中继任务之间发送消息的装置包括由进程的线程托管的进程间通信模块。 有利地,所述信息处理装置包括将进程中的一个初始化为主进程并将其他进程初始化为从属进程的装置。 有利地,所述主进程包括由进程的线程托管的装置间通信模块,以便能够在装置的中继任务和由另一个信息处理装置托管的远程中继任务之间发送消息。 本专利技术还涉及一种在运行于一个或两个之前描述的信息处理装置上的任务之间交换消息的方法。该方法的特征在于,为了使消息能够从第一任务发送到第二任务,所述方法包括 -由托管所述第一任务的线程的总线管理模块实现的以下步骤: -在所述第二任务和所述第一任务属于相同进程的情况下,在所述第二任务专用的FIFO中传送所述消息使得所述第二任务能够考虑所述消息的步骤; -在所述第二任务和所述第一任务属于不同进程的情况下向所述主进程的总线管理模块发送寻找所述第二任务的消息的步骤, -由所述主进程的总线管理模块实现的以下步骤: -当所述第二任务由所述主进程的线程托管时, -在所述主进程的线程中创建远程中继任务的步骤, -向托管所述第一任务的线程的总线管理模块发送响应的步骤, -当所述第二任务不由所述主进程的线程托管时, -向进程类型的总线管理模块中的每一个广播寻找所述第二任务的消息的步骤, -在接收到寻找所述第二任务的消息时,由托管所述第二任务的从属进程的总线管理模块实现的以下步骤: -在所述从属进程的线程中创建远程中继任务的步骤, -向所述主进程的总线管理模块发送响应的步骤, -同样由所述主进程的总线管理模块实现的步骤:在接收到由所述从属进程的总线管理模块发送的响应后,向所述托管所述第一任务的线程的总线管理模块发送响应,以及 -当托管所述第一任务的线程的总线管理模块接收到来自所述主进程的总线管理模块的响应后,由托管所述第一任务的线程的总线管理模块实现的以下步骤: -在托管所述第一任务的进程的线程中创建对应所述远程中继任务的中继任务的步骤,以及 -在所述中继任务专用的FIFO中传送所述消息的步骤,其中所述中继任务专用的FIFO先将所述消息发送到所述远程中继任务,再将所述消息发送到所述第二任务。 根据本专利技术的另一个有利特征,所述方法包括的初始化总线本文档来自技高网
...
软件总线

【技术保护点】
一种信息处理装置,包括:‑操作系统:‑至少一个进程,由所述操作系统调度,以及‑线程,能够由所述操作系统在所述进程中进行调度,其特征在于,所述信息处理装置还包括:‑至少一个用户任务或者系统任务,位于各线程中,‑各线程本身包含针对所述线程中包括的各个任务的FIFO、以及线程类型的、本身集成了用于调度所述线程的一个或多个任务的专属调度器的总线管理模块,其特征还在于,为了使第一任务能够向第二任务发送消息,所述信息处理装置包括:‑用于寻找所述第二任务所依靠的进程的装置,以及‑在所述第二任务和所述第一任务属于相同进程的情况下用于在所述第二任务专用的FIFO中传送所述消息使得所述第二任务能够考虑所述消息的装置,‑在所述第二任务属于与所述第一任务所依靠的进程不同的进程的情况下‑用于在所述第二任务所依靠的进程的线程中创建远程中继任务的装置,‑用于在所述第一任务所依靠的进程的线程中创建中继任务的装置,‑用于在所述第一任务所依靠的进程与所述第二任务所依靠的进程之间创建连接的装置,‑用于在所述中继任务专用的FIFO中传送所述消息的装置,‑用于经由所述连接将所述消息发送至所述远程中继任务的装置,‑用于在所述第二任务的FIFO中传送所述消息使得所述第二任务能够考虑所述消息的装置。...

【技术特征摘要】
【国外来华专利技术】2011.12.16 FR 11/617461.一种信息处理装置,包括: -操作系统: -至少一个进程,由所述操作系统调度,以及 -线程,能够由所述操作系统在所述进程中进行调度, 其特征在于,所述信息处理装置还包括: -至少一个用户任务或者系统任务,位于各线程中, -各线程本身包含针对所述线程中包括的各个任务的FIFO、以及线程类型的、本身集成了用于调度所述线程的一个或多个任务的专属调度器的总线管理模块, 其特征还在于,为了使第一任务能够向第二任务发送消息,所述信息处理装置包括: -用于寻找所述第二任务所依靠的进程的装置,以及 -在所述第二任务和所述第一任务属于相同进程的情况下用于在所述第二任务专用的FIFO中传送所述消息使得所述第二任务能够考虑所述消息的装置, -在所述第二任务属于与所述第一任务所依靠的进程不同的进程的情况下 -用于在所述第二任务所依靠的进程的线程中创建远程中继任务的装置, -用于在所述第一任务所依靠的进程的线程中创建中继任务的装置, -用于在所述第一任务所依靠的进程与所述第二任务所依靠的进程之间创建连接的装置, -用于在所述中继任务专用的FIFO中传送所述消息的装置, -用于经由所述连接将所述消息发送至所述远程中继任务的装置, -用于在所述第二任务的FIFO中传送所述消息使得所述第二任务能够考虑所述消息的装置。2.根据权利要求1所述的信息处理装置,其特征在于,所述用于寻找所述第二任务所依靠的进程的装置包括与各个进程相关的总线管理模块,所述总线管理模块中的每一个均包括列出进程的任务和线程的路由表,其中任务和线程依靠进程。3.根据权利要求1或2所述的信息处理装置,其特征在于,对于各个进程,用于在所述中继任务与所述远程中继任务之间发送消息的装置包括由进程的线程托管的进程间通信模块。4.根据前述权利要求中任一项所述的信息处理装置,其特征在于,所述信息处理装置包括将进程中的一个初始化为主进程并将其他进程初始化为从属进程的装置。5.根据权利要求4所述的信息处理装置,其特征在于,所述主进程包括由进程的线程托管的装置间通信模块,以便能够在装置的中继任务和由另一个信息处理装置托管的远程中继任务之间发送消息。6.—种在运行于一个或两个信息处理装置上的任务之间交换消息的方法,所述方法包括: -操作系统; -至少一个进程,由所述操作系统排序;所述进程或所述进程中的一个被初始化为主进程,并且如果存在其他进程的话,则将其他进程初始化为从属进程, -线程,能够由所述操作系统在所述进程中进行调度;以及 -至少一个用户任务和/或一个系统任务,特别是进程间通信模块或装置间通信模块,位于各个线程中;进程的至少一个线程包括进程间通信模块,并且所有进程的至少一个线程包括装置间通信模块, -各个进程都包括进程类型的总线管理模块,以及 -各个线程本身包括针对所述线程中包括的各个任务的FIFO、以及集成了用于调度上述线程的专属调度器的线程类型的总线管理模块, 其特征在于,为了使消息能够从第一任务发送到第二任务,所述方法包括 -由托管所述第一任务的线程的总...

【专利技术属性】
技术研发人员:安东尼·罗科奎雷劳伦·阿拉科恩
申请(专利权)人:萨热姆通信宽带简易股份有限公司
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1