一种多分区操作系统虚中断标准组件实现方法技术领域
本发明属于航电系统机载网络领域,涉及一种多分区操作系统虚中断标准组件实现方法。
背景技术
随着航空电子技术的发展和综合度的提高,多分区操作系统平台的应用也越来越多。对于多分区操作系统,核心操作系统上报设备中断给分区应用的方法通常采用虚中断方式。由于多分区操作系统只能由一个应用上报虚中断,当系统中存在多个应用需要使用虚中断时,现有的多分区操作系统虚中断实现机制存在如下不足:
(1)无统一规范及标准。因为不同型号不同应用,多分区操作系统虚中断实现机制存在差异性。
(2)缺乏独立性和灵活性。多分区操作系统虚中断实现机制由系统中应用统一管理,但流程复杂,多个应用间存在相互耦合。应用的虚中断实现机制缺乏独立性。
本发明内容
针对上述描述中的不足,本发明提出了一种多分区操作系统虚中断标准组件实现方法。通过本发明使得多分区操作系统虚中断实现方式有了标准的规范和统一规范的管理,有效的避免系统中多个应用虚中断实现的冲突,提升了应用间的独立性,灵活性及可维护性。
本发明具体技术方案如下:本发明基于多分区操作系统系统平台,提出了一种虚中断标准组件实现方法,包括标准虚中断组件规范制定和标准虚中断组件执行两部分。
所述标准虚中断组件规范制定,具体步骤如下:
步骤1,制定系统虚中断划分标准;
步骤2,统一规划系统划虚中断码;
步骤3,划分子系统虚中断码;
步骤4,制定虚中断初始化标准接口;
步骤5,制定虚中断注册接口处理规范;
步骤6,制定子系统虚中断处理标准接口;
步骤7,仲裁产生的虚中断子系统;
步骤8,执行子系统虚中断处理标准接口。
所述步骤1,系统虚中断划分标准主要指划分原则,划分原则包括按照厂家划分,按照专业方向划分,按照模块划分等。
所述步骤2,统一规划系统虚中断码指依据划分标准,选择划分原则。
所述步骤3,划分子系统虚中断码指依据步骤2,按照号段划分各子系统虚中断码。
所述步骤4中,虚中断初始化标准接口指系统需要执行的标准API接口,系统公用的API接口。
所述步骤5中,虚中断注册接口处理规范指依据划分标准,定义子系统接管虚中断处理规范。默认值0,是不接管虚中断处理。设置值为1,接管虚中断处理。
所述步骤6中,子系统虚中断处理标准接口包括子系统标准的API接口格式,API接口参数。
所述步骤7中,仲裁产生的虚中断子系统是指当虚中断到来时,需要判断该虚中断是属于哪个子系统的。
所述标准虚中断组件执行方案,具体步骤如下:
步骤A,划分系统虚中断码;
步骤B,划分子系统虚中断码;
步骤C,判断子系统是否接管中断;
步骤D,如果接管,执行虚中断初始化标准接口;
步骤E,等待中断到达;
步骤F,执行虚中断注册接口处理规范;
步骤G,执行子系统虚中断处理标准接口。
本发明步骤中的标准虚中断组件规范制定和标准虚中断组件执行方案有着依赖关系。标准虚中断组件规范制定为标准虚中断组件执行方案提供方法,方案和标准依据。标准虚中断组件执行方案进一步验证标准虚中断组件规范制定的合理性和正确性。
通过本发明使得基于多分区操作系统平台的虚中断实现方式流程统一,管理规范,接口标准,有效的避免系统中多个应用虚中断实现的冲突,提升了应用间的独立性,灵活性及可维护性。
附图说明
图1是标准虚中断组件规范制定流程。
图2是标准虚中断组件执行流程。
具体实施方式:
本发明针对多分区操作系统系统构型提供一种多分区操作系统虚中断标准组件实现方法。为了更好地理解本发明,下面结合附图和具体实施例对本发明作进一步地描述。
如图1所示,本发明标准虚中断组件规范制定具体步骤如下:
步骤100,系统虚中断划分标准主要指划分原则;
步骤101,依据划分标准,选择划分原则;
步骤102,依据步骤101,按照号段划分各子系统虚中断码;
步骤103,系统需要执行的标准初始化API接口,系统公用的API接口。
步骤104,依据划分标准,定义子系统接管虚中断处理规范。默认值0,是不接管虚中断处理。设置值为1,接管虚中断处理并注册虚中断回调例程。
步骤105,子系统虚中断处理标准接口包括子系统标准的API接口格式,API接口参数。
步骤106,当有虚中断响应时,依据预先注册的虚中断回调例程,仲裁产生的虚中断属于哪个子系统。
步骤107,依据仲裁结果,依据步骤105,执行子系统虚中断处理标准接口。
所述步骤100中,划分原则包括多种原则,在此简单的举三个例子:按照厂家划分、按照专业方向划分、按照模块划分。根据各子系统的中断数量需求,对号段进行统一分配。号段分配的原则遵循每一个子系统的虚中断号段不能重复。
所述步骤101中,根据不同的划分标准,可以选择具体的划分类型,例如按照厂家划分、按照专业方向划分和按照模块划分等。
所述步骤102中,依据已选择的划分标准和划分后各子系统对中断数量的需求,按照号段划分各子系统虚中断码(此实施例中以等量中断数目来进行虚中断划分)。如果按照厂家划分虚中断号,具体如表1所示。
表1按厂家划分子系统
如果按照专业方向划分虚中断号,具体如表2所示,专业方向可以为飞控、机电、航电等类型。
表2按专业方向划分子系统
| 专业方向 | 虚中断号段 | 
| 专业1 | 0---100 | 
| 专业2 | 101---200 | 
| 专业3 | 201---300 | 
| 专业4 | 301---400 | 
| 专业5 | 401---500 | 
如果按照模块划分虚中断号,具体如表3所示。
表3加载控制响应消息
| 模块 | 虚中断号段 | 
| 模块1 | 0---100 | 
| 模块2 | 101---200 | 
| 模块3 | 201---300 | 
| 模块4 | 301---400 | 
| 模块5 | 401---500 | 
所述步骤103中,系统公用的API接口初始化接口命名规则如下所示:返回类型PubSysnameExtVInt(标识位)。其中返回类型可以为int型或其他需要的类型,Pub是指公用接口,Sysname是指子系统名称,ExTVInt是指扩展虚中断初始化,参数标识位是指是否接管虚中断标识。举例说明该命名规范,假设是以专业方向来命名,航电专业方向初始化接口可以定义为:int PubAvionicsExtVInt(标识位);机电专业方向初始化接口可以定义为:intPubMechaExtVInt(标识位)。
所述步骤104中,依据划分标准,定义子系统接管虚中断处理规范。默认各子系统标识位的初始值为0(不接管虚中断处理)。如果某个子系统接管虚中断处理,则将标识位值设置为1,并注册虚中断回调例程。
所述步骤105中,当某个子系统接管虚中断处理后,根据标准的子系统API接口格式及API接口参数对虚中断进行处理。标准的子系统API接口命名规范如下:返回类型SubSysnameExtVInt(int SysInt,int SubInt,参数1,参数2,参数3,参数4)。其中返回类型可以为int型或其他需要的类型,Sub是指子系统调用接口,Sysname是指子系统名称,ExTVInt是指扩展虚中断,第一个参数SysInt是指系统中断码,第二个参数SubInt是指子系统中断码,后面的参数根据需要进行增改。举例说明该命名规范,假设是以厂家来命名,厂家1API接口可以定义为int SubManu1ExtVInt(int SysInt,int SubInt,参数1,参数2,参数3,参数4),厂家2API接口可以定义为int SubManu2ExtVInt(int SysInt,int SubInt,参数1,参数2,参数3,参数4)。
所述步骤106中,当有虚中断响应时,预先注册的虚中断处理例程进行仲裁,依据仲裁结果判定产生的虚中断属于哪个子系统。比如子系统是以厂家进行划分,并且划分标准及号段如表1所示,假设子系统虚中断号为188,则判定为厂家2的虚中断码。
步骤107,依据步骤106的仲裁结果和步骤105子系统的虚中断标准API接口,执行子系统虚中断处理标准接口。如步骤106中,例如子系统虚中断为188,则执行厂家2的标准API接口int SubManu2ExtVInt(int SysInt,int SubInt,参数1,参数2,参数3,参数4)。
如图2所示,本发明标准虚中断组件执行方案具体步骤如下:
步骤200,根据步骤101统一系统虚中断码;
步骤201,根据步骤102,按照号段划分各子系统虚中断码;
步骤202,如果接管中断,则执行中断初始化标准接口,并将该子系统的标识值设置为1,如果不接管中断,则方案结束;
步骤203,如果有中断到来,则执行虚中断注册接口处理规范,如果没有,则继续等待中断;
步骤204,虚中断注册完成之后,执行子系统虚中断处理。