CN1242348C - 嵌入式系统中基于操作系统的通信调度装置 - Google Patents

嵌入式系统中基于操作系统的通信调度装置 Download PDF

Info

Publication number
CN1242348C
CN1242348C CN 02137181 CN02137181A CN1242348C CN 1242348 C CN1242348 C CN 1242348C CN 02137181 CN02137181 CN 02137181 CN 02137181 A CN02137181 A CN 02137181A CN 1242348 C CN1242348 C CN 1242348C
Authority
CN
China
Prior art keywords
module
message
application
operating system
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN 02137181
Other languages
English (en)
Other versions
CN1486093A (zh
Inventor
张建林
樊迅
陈德怀
裴民
王迎
陈明
孔令山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Shanghai Bell Co Ltd
Original Assignee
Alcatel Lucent Shanghai Bell Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent Shanghai Bell Co Ltd filed Critical Alcatel Lucent Shanghai Bell Co Ltd
Priority to CN 02137181 priority Critical patent/CN1242348C/zh
Publication of CN1486093A publication Critical patent/CN1486093A/zh
Application granted granted Critical
Publication of CN1242348C publication Critical patent/CN1242348C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

一种嵌入式系统中基于操作系统的通信调度装置,用于嵌入式系统中操作系统和关联程度高、且相互间无需预抢占的若干应用模块之间,完成上层应用模块的调度和通信,并向上层应用提供与其他外围应用任务之间的通信接口,本装置和被调度的上层应用模块一起作为操作系统上的一个任务。该装置由调度模块、消息池模块、上层应用接口模块、操作系统接口模块、应用注册表模块组成。本发明解决了传统的嵌入式系统中操作系统上任务过多,调度负担重,效率不高的问题,同时提供的通信调度装置和上层应用模块间有清晰的层次和规范的接口,实现了调度细节和应用功能的分割,不仅可以降低了应用开发的难度,而且还可以通过并行开发大大提高开发的效率,且具有很强的可维护性。

Description

嵌入式系统中基于操作系统的通信调度装置
(一)技术领域
本专利涉及一种嵌入式系统中基于操作系统的通信调度装置。
(二)背景技术
嵌入式系统中常常将具有一定功能的应用模块作为操作系统上的任务,应用任务的调度和相互间的通信通过操作系统来完成。虽然这样的设计可以通过任务间的预抢占提供较高的并行性和实时性,在功能相对单一的系统中表现良好,但当系统复杂时,这样的设计将使得有过多的操作系统上的任务,从而导致操作系统的调度负担过重,系统效率不高,而且过多的任务也给测试带来了不便,更何况并非所有的应用间都需要“预抢占”。
为了解决这个问题,一般的做法是将某些关联程度高,相互间无需预抢占的应用模块任务合并为一个任务,在任务内部完成这些应用模块的调度。但是传统方法常常未在任务内部将调度功能和应用模块的功能清晰的分割开,任务的设计者在开发时要兼顾调度和应用功能两者的功能,工作量大,且由于界限模糊导致了任务的维护不方便,任务中多个应用模块的并行开发难度大。
(三)发明内容
本发明的目的在于提出一种嵌入式系统中基于操作系统的通信调度装置,不仅可以解决传统复杂的嵌入式系统中操作系统上任务过多,调度负担重,效率不高的问题;而且还能够通过本发明提供的通信调度装置和上层应用模块间有清晰的层次和规范的接口,实现调度细节和应用功能的分割,这样不仅可以降低了应用开发的难度,而且还可以通过并行开发大大提高开发的效率,且具有很强的可维护性。
本发明所提供的一种嵌入式系统中基于操作系统的通信调度装置,用于嵌入式系统中操作系统和关联程度高、相互间无需预抢占的若干应用模块之间,完成上层应用模块的调度和通信,并向上层应用提供与其他外围应用任务之间的通信接口,本装置和被调度的上层应用模块一起作为操作系统上的一个任务,其特征在于,它包括调度模块、消息池模块、上层应用接口模块、操作系统接口模块和应用注册表模块,其中:调度模块,其分别与消息池模块、上层应用接口模块、操作系统接口模块和应用注册表模块相连,根据消息池中消息的目的标识和注册应用的标识进行上层应用模块的调度控制,并提供调度策略;消息池模块,其分别与上层应用接口模块、操作系统接口模块和调度模块相连,用于存储上层应用模块间交互的消息以及外围应用任务模块发往上层应用模块的消息,为调度模块、上层应用接口模块和操作系统接口模块提供方便接入消息池的接口,执行消息池的接入控制;上层应用接口模块,其分别与调度模块、消息池模块、操作系统接口模块和应用注册表模块相连,接收上层应用模块的消息发送请求,判断发送消息的目的和路由,可激活上层应用模块,并向上层应用模块提供消息池接入能力;操作系统接口模块,其分别与调度模块、消息池模块、上层应用接口模块和应用注册表模块相连,完成从操作系统的消息接收,消息检查、格式转换、消息存储,接受外部消息发送请求,格式转换、通过操作系统的消息发送;应用注册表模块,其分别与调度模块、上层应用接口模块和操作系统接口模块相连,存储上层应用模块的标识、消息处理函数入口等公共信息。
在上述的嵌入式系统中基于操作系统的通信调度装置中,消息池模块包括消息存储子模块、消息池接口子模块和消息池接入控制子模块,其中:消息存储子模块,其分别与消息池接口子模块和消息池接入控制子模块相连,作为消息的存储区,提供消息的存取能力;消息池接口子模块,其分别与消息存储子模块和消息池接入控制子模块相连,对外提供方便的消息池接入的接口,对内通过消息池接入控制子模块的控制信息完成在消息存储子模块中消息的存取;消息池接入控制子模块,其分别与消息存储子模块和消息池接口子模块相连,记录消息存储子模块使用的情况的信息,如消息池中消息的个数,第一个消息的位置,第一个空闲存储区的位置等信息,提供接入控制能力。
采用了上述的技术解决方案,基于操作系统之上的壳机制通信调度装置代替操作系统完成应用模块的调度和通信,在形式上壳机制通信调度装置和被调度的上层应用模块一起作为操作系统上的一个任务,解决了传统的嵌入式系统中操作系统上任务过多,调度负担重,效率不高的问题;同时,本发明提供的通信调度装置和上层应用模块间有清晰的层次和规范的接口,实现了调度细节和应用功能的分割,不仅可以降低了应用开发的难度,而且还可以通过并行开发大大提高开发的效率,且具有很强的可维护性。在调度方法的升级更新时,只要接口保持不变也不会影响上层应用模块,十分灵活方便。
(四)附图说明
图1是本发明嵌入式系统中基于操作系统的通信调度装置的结构示意图;
图2是本发明中消息池模块的结构示意图。
(五)具体实施方式
本发明对外围应用模块展现唯一的通信接口,且有调度功能,在形式上有些类似操作系统中的SHELL(壳)的功能,因此我们定义它为“壳机制通信调度装置”。
如图1所示,本发明壳机制通信调度装置1用于嵌入式系统中操作系统2和若干应用模块3之间,完成上层应用模块3的调度和通信,并向上层应用模块3提供与其他外围应用任务模块4之间的通信接口,在我们的环境中操作系统采用的是Vxworks(一种流行的嵌入式操作系统),上层应用模块包括从WCDMA(宽带码分多址)中的NBAP(节点B应用部分)协议中按功能分割出的具有特定功能的RRC(无线资源控制)接口应用模块、SaalUni(信令异步传输模式适配层用户网络协议)接口应用模块、ALCAP(接入链路应用控制协议)接口应用模块、消息路由与组装软件处理应用模块、NBAP(节点B应用部分)协议软件处理应用模块、NBAP(节点B应用部分)协议模块管理软件应用模块等,这些上层应用模块具有很强的关联关系,且它们之间无需预抢占,在壳机制调度装置1的调度下协作共同完成NBAP(节点B应用部分)协议功能,壳机制调度装置1和这些上层应用模块3一起被设计为操作系统上的一个NBAP(节点B应用部分)协议任务,具有唯一的任务入口和消息队列。
该装置由调度模块11、消息池模块12、上层应用接口模块13、操作系统接口模块14、应用注册表模块15组成。所有的模块被设计成函数,当激活时被调用,并通过函数返回响应。
调度模块11根据消息池中的消息的目的标识和注册的应用的标识进行上层应用模块的调度控制,并提供调度策略。
当操作系统接口模块14从操作系统2的消息队列中接收到发给某个上层应用模块3的消息并将其按内部通信的标准消息格式存入消息池后,将激活调度模块11,调度模块11取出消息的目的标识并和应用注册表模块15中注册的应用标识比较,如果没有一个注册应用的标识匹配,将请求消息池模块12释放消息池中该消息,如果找到匹配的上层应用标识,将请求上层应用接口模块13激活上层应用模块3的功能。在上层应用接口模块13指示某个上层应用执行完毕后,调度模块11将继续请求消息池模块12取出消息池中下一个消息的目的标识并比较,进行重复的操作,直到消息池模块12指示消息池中没有消息为止。
调度模块11可以根据需要提供不同的调度策略,如消息先入先出调度,消息优先级调度等。在我们的实现中采用无消息优先级先入先出调度,这种调度方式实现简单,调度模块11总是请求消息池模块12取出最先进入消息池的消息标识,并调度响应的上层应用模块3。
消息池模块12:存储上层应用模块3间交互的消息以及外围应用任务模块4发往上层应用模块3的消息;为调度模块11、上层应用接口模块13和操作系统接口模块14提供方便接入消息池的接口;执行消息池的接入控制。
消息池模块12和调度模块11、上层应用接口模块13、操作系统接口模块14接口,为它们提供上层应用模块3间交互的消息以及外围应用任务模块4发往上层应用模块3的消息的接入功能。如图2:消息池模块12分为三个子模块实现:消息存储子模块122、消息池接口子模块123和消息池接入控制子模块121。消息存储子模块122为消息的存储区,提供消息的存取能力。消息池接口子模块123对外提供方便的消息池接入的接口,对内通过消息池接入控制子模块121的控制信息完成在消息存储子模块122中消息的存取。消息池接入控制子模块121记录消息存储子模块122使用的情况的信息,如消息池中消息的个数,第一个消息的位置,第一个空闲存储区的位置等信息,提供接入控制能力。
当操作系统接口模块14从操作系统2的消息队列中接收到发给某个上层应用模块3的消息并完成内部通信标准消息格式转换后,将激活消息池模块12进行消息的存储,消息池模块12根据消息池接入控制子模块121提供的信息进行接入控制,如果接受存储请求,将执行相应的存储操作,并返回成功的响应,否则返回存储失败响应。
当调度模块11需要从消息池模块12中取消息目的标识进行调度控制时,消息池模块12将被激活,如果消息池中有消息,就返回调度模块11所需的消息目的标识信息,如果无消息,也通知调度模块11。还有一种异常情况是当调度模块11发现从消息池模块12中取消息目的标识在应用注册表模块中找不到任何一个应用标识相对应时,也将请求激活消息池模块12以释放消息池中该消息,消息池模块12完成消息释放后,通知调度模块11,如有异常发生,将报警。
当上层应用接口模块13需要进行消息池的读、写、控制等接入请求时,激活消息池模块12进行相关操作,消息池模块12根据消息池接入控制子模块121提供的信息进行接入控制,如果接受,将执行相应的存储操作,并返回成功的响应,否则返回失败响应。
上层应用接口模块13:接收上层应用模块3的消息发送请求,判断发送消息的目的和路由;上层应用模块3的激活;向上层应用模块3提供消息池接入能力。
当上层应用要发送消息时,激活上层应用接口模块13,上层应用接口模块13将判断消息的目的是否为被调度的另一个上层应用模块3,如果是,将向消息池模块12发送消息存储请求完成消息存储,并从消息池模块12接受应答并返回给上层应用模块3,否则,将请求操作系统接口模块14发送消息到外围应用任务模块4,并接受操作系统接口模块14的应答并返回给上层应用模块3。当调度模块11请求调度某个上层应用模块3的功能时,上层应用接口模块13也被激活并从应用注册表模块15中获得该上层应用模块3的消息处理函数入口地址,并激活此上层应用模块3,当上层应用返回时,返回响应给调度模块11。当上层应用模块3请求读消息池中的自己的消息或要对消息池进行控制操作,如释放已经使用的消息时,上层应用接口模块13也被激活并向消息池模块12发出相应的请求,并在收到消息池模块12的响应后通知上层应用模块3。
操作系统接口模块14,完成从操作系统2的消息接收,消息检查、格式转换、消息存储;接受外部消息发送请求,格式转换、通过操作系统2的消息发送。
当从操作系统2的消息队列中接受到消息时,操作系统接口模块14被激活并进行消息目的判断,如消息的目的标识和应用注册表模块15中某个应用标识一致,就将接受消息转换为标准的内部消息格式并向消息池模块12发消息存储请求进行消息存储,并接受消息池模块12的应答,如失败,将发出告警。当上层应用接口模块13请求向外围应用任务模块4发送时,操作系统接口模块14被激活并进行标准的内部消息格式和外部通信格式的转化,并向操作系统2请求消息发送。
应用注册表模块15,从形式上看被设计成一个结构数组,每个结构都包含存储上层应用模块3的标识、以及对应的消息处理函数入口信息。我们的应用注册表的信息是静态的,在NBAP(节点B应用部分)协议任务初始化时配置好,运行过程中只能读取,不能改变。

Claims (2)

1.一种嵌入式系统中基于操作系统的通信调度装置,用于嵌入式系统中操作系统和关联程度高、相互间无需预抢占的若干应用模块之间,完成上层应用模块的调度和通信,并向上层应用提供与其他外围应用任务之间的通信接口,本装置和被调度的上层应用模块一起作为操作系统上的一个任务,其特征在于,它包括调度模块、消息池模块、上层应用接口模块、操作系统接口模块和应用注册表模块,其中:
调度模块,其分别与消息池模块、上层应用接口模块、操作系统接口模块和应用注册表模块相连,根据消息池中消息的目的标识和注册应用的标识进行上层应用模块的调度控制,并提供调度策略;
消息池模块,其分别与上层应用接口模块、操作系统接口模块和调度模块相连,用于存储上层应用模块间交互的消息以及外围应用任务模块发往上层应用模块的消息,为调度模块、上层应用接口模块和操作系统接口模块提供接入消息池的接口,执行消息池的接入控制;
上层应用接口模块,其分别与调度模块、消息池模块、操作系统接口模块和应用注册表模块相连,接收上层应用模块的消息发送请求,判断发送消息的目的和路由,可激活上层应用模块,并向上层应用模块提供消息池接入能力;
操作系统接口模块,其分别与调度模块、消息池模块、上层应用接口模块和应用注册表模块相连,完成从操作系统的消息接收,消息检查、格式转换、消息存储,接受外部消息发送请求,格式转换、通过操作系统的消息发送;
应用注册表模块,其分别与调度模块、上层应用接口模块和操作系统接口模块相连,存储公共信息,即上层应用模块的标识、消息处理函数入口。
2.根据权利要求1所述的一种嵌入式系统中基于操作系统的通信调度装置,其特征在于:所述的消息池模块包括消息存储子模块、消息池接口子模块和消息池接入控制子模块,其中:
消息存储子模块,其分别与消息池接口子模块和消息池接入控制子模块相连,作为消息的存储区,提供消息的存取能力;
消息池接口子模块,其分别与消息存储子模块和消息池接入控制子模块相连,对外提供消息池接入的接口,对内通过消息池接入控制子模块的控制信息完成在消息存储子模块中消息的存取;
消息池接入控制子模块,其分别与消息存储子模块和消息池接口子模块相连,记录消息存储子模块使用的情况的信息,包括消息池中消息的个数、第一个消息的位置、第一个空闲存储区的位置的信息,提供接入控制能力。
CN 02137181 2002-09-27 2002-09-27 嵌入式系统中基于操作系统的通信调度装置 Expired - Lifetime CN1242348C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02137181 CN1242348C (zh) 2002-09-27 2002-09-27 嵌入式系统中基于操作系统的通信调度装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02137181 CN1242348C (zh) 2002-09-27 2002-09-27 嵌入式系统中基于操作系统的通信调度装置

Publications (2)

Publication Number Publication Date
CN1486093A CN1486093A (zh) 2004-03-31
CN1242348C true CN1242348C (zh) 2006-02-15

Family

ID=34146906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02137181 Expired - Lifetime CN1242348C (zh) 2002-09-27 2002-09-27 嵌入式系统中基于操作系统的通信调度装置

Country Status (1)

Country Link
CN (1) CN1242348C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155726B2 (en) * 2003-10-29 2006-12-26 Qualcomm Inc. System for dynamic registration of privileged mode hooks in a device
CN100349121C (zh) * 2005-07-08 2007-11-14 北京中星微电子有限公司 嵌入式并行计算系统以及嵌入式并行计算方法
CN102104487B (zh) * 2009-12-21 2014-12-17 上海贝尔股份有限公司 一种消息处理方法及其设备
CN102594729B (zh) * 2012-02-09 2015-11-04 福建联迪商用设备有限公司 模块间通信方法和模块间通信系统
CN102681845A (zh) * 2012-04-24 2012-09-19 深圳创维数字技术股份有限公司 一种输入事件管理方法及装置
US10037237B2 (en) 2013-03-28 2018-07-31 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for fault management in infrastructure as a service clouds
CN104503850B (zh) * 2014-12-11 2017-10-31 天津中兴智联科技有限公司 嵌入式系统通信方法

Also Published As

Publication number Publication date
CN1486093A (zh) 2004-03-31

Similar Documents

Publication Publication Date Title
KR101057452B1 (ko) 스마트카드 임베디드 조작 시스템 및 작업처리 방법
EP1435044B1 (en) Method and apparatus for scheduling requests using ordered stages of scheduling criteria
CN101127685B (zh) 一种进程间通讯装置及其进程间通讯方法
CN100351798C (zh) 在多线程网络处理器中线程信令的分组处理方法和系统
US9430411B2 (en) Method and system for communicating with non-volatile memory
CN110647380A (zh) 用于支持边缘计算的超融合服务器系统
CN1606301A (zh) 一种共享资源访问的调度控制方法及装置
CN102298539A (zh) 一种用于分布式并行处理的共享资源调度方法及系统
CN1242348C (zh) 嵌入式系统中基于操作系统的通信调度装置
GB2483737A (en) Workflow scheduler for server cluster with blocking assignment of order sensitive flows and non blocking assignment of other flows
CA2297650A1 (en) Networking systems
CN101288049A (zh) 数据处理装置中的数据引擎的使用
CN101166208A (zh) 一种维护作业自动化的方法及系统
CN102377980A (zh) 一种视频会议中多点控制单元的备份方法和系统
CN112698947B (zh) 一种基于异构应用平台的gpu资源弹性调度方法
CN101470636B (zh) 一种消息的读写方法和装置
CN114721806A (zh) 基于数字孪生的任务调度和执行方法及系统
Coulson et al. Extending the Chorus micro-kernel to support continuous media applications
CN1545244A (zh) 使用网络处理器实现端口主备切换的方法
CN1955990B (zh) 综合电信平台中的流程执行方法及系统
CN101634956B (zh) 多核处理器消息调度方法及调度器
CN110347490A (zh) 一种kubernetes中的资源可伸缩组合调度方法
CN102170401A (zh) 一种数据的处理方法和设备
CN114756375A (zh) Gpu资源调度方法、系统、电子设备和存储介质
CN101169742B (zh) 用于大规模并行处理系统的资源保留

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: BEIER AERKATE CO., LTD., SHANGHAI

Free format text: FORMER NAME: BELL CO.,LTD., SHANGHAI

Owner name: SHANGHAI ALCATEL-LUCENT CO., LTD.

Free format text: FORMER NAME: BEIER AERKATE CO., LTD., SHANGHAI

CP01 Change in the name or title of a patent holder

Address after: 201206 Pudong New Area Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee after: Shanghai Bell Alcatel Co.,Ltd.

Address before: 201206 Pudong New Area Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee before: Shanghai Bell Co.,Ltd.

Address after: 201206 Pudong New Area Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee after: ALCATEL-LUCENT SHANGHAI BELL Co.,Ltd.

Address before: 201206 Pudong New Area Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee before: Shanghai Bell Alcatel Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 201206 Pudong New Area Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee after: NOKIA SHANGHAI BELL Co.,Ltd.

Address before: 201206 Pudong New Area Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee before: ALCATEL-LUCENT SHANGHAI BELL Co.,Ltd.

CP01 Change in the name or title of a patent holder
CX01 Expiry of patent term

Granted publication date: 20060215

CX01 Expiry of patent term