一种分区实时操作系统的分区配置方法与流程

文档序号:17772155发布日期:2019-05-28 19:33阅读:371来源:国知局
一种分区实时操作系统的分区配置方法与流程

本发明涉及计算机应用技术领域,尤其是操作系统的分区实现方法。



背景技术:

分区实时操作系统(prtos)在传统实时操作系统的基础上引入了分区的概念,每个分区拥有自己独自的内存空间和时间窗口,实现分区间时空域的隔离,防止一个分区中出现的故障蔓延至其它分区,提高了系统的可靠性;另一方面分区实时操作系统通过采用多级安全架构(mls),严格控制不同安全级别分区间的信息交流,为信息安全提供保障。

分区配置文件中规定了分区的时间配置参数、空间配置参数、分区关键等级、分区所使用的外部设备以及分区健康监测表等信息,实现分区间的时间隔离、空间隔离以及分区健康状态监测。

在进行分区配置时,需要根据分区配置文件进行源代码和链接脚本的编写,手动编写代码增加引入错误的可能性;同时,随着交叉工具链的不断升级,使用不同版本的交叉工具链,得到的可执行文件也会存在差异性,增加程序运行出错的可能性。



技术实现要素:

为了克服现有技术的不足,本发明提供一种分区实时操作系统的分区配置方法。本发明采用manifest文件作为分区配置文件,将分区配置信息和交叉工具链的版本以及编译链接参数写入到文件中,设计代码生成器自动生成源代码和链接脚本,并检查所使用交叉工具链的版本信息,保证得到二进制文件的正确性。

本发明解决其技术问题所采用的技术方案的实现步骤如下:

步骤一、用户编写manifest文件;

manifest文件以xml格式表示,将分区作为manifest文件的根元素,通过元素属性的方式规定交叉工具链的版本信息以及编译链接参数,然后通过标签描述分区的分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表;

用户根据实际使用需求,确定分区数量,建立与分区数量对应的分区元素,然后根据每个分区功能需求的不同,对分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表的标签进行设定;

步骤二、通过数据软总线获取manifest文件的信息;

将步骤一完成的manifest文件挂接到数据软总线上,数据软总线获取manifest文件中的数据信息;

步骤三、使用arinc653xml-schema对获取到的manifest信息进行校验;

manifest文件中的信息包含两部分:一部分是分区配置信息,另一部分是交叉工具链版本信息和编译链接参数;

依据arinc653标准的要求,使用arinc653xml-schema对分区配置信息进行校验,通过校验的manifest文件作为分区配置文件继续使用;

步骤四、设计代码生成器,并对代码生成器进行形式化验证;

从步骤三通过校验的manifest文件的分区信息中提取各个分区的参数,根据提取参数编写源代码和链接脚本;

通过文本替换的方式设计代码生成器,采用形式化的方法对代码生成器进行验证;

步骤五、获取步骤三通过校验的manifest文件中的交叉工具链编译器版本信息和编译参数,并对编译器版本进行检查;

通过代码生成器产生的源代码在进行编译之前,根据步骤三通过校验的manifest文件中规定的编译器版本信息对与实际使用的编译器版本进行对比,确保编译器版本的正确性;

步骤六、编译代码生成器生成的源代码。

获取步骤三通过校验的manifest文件中的编译参数,使用版本相同的编译器编译源代码;

步骤七、获取步骤三通过校验的manifest中的交叉工具链链接器版本信息和链接参数,并对链接器版本进行检查;

完成步骤六中源代码的编译之后,对比manifest中规定的交叉工具链链接器版本信息和实际使用的链接器版本信息,确保所使用的链接器为规定版本;

步骤八、根据代码生成器产生的链接脚本,将应用程序链接到指定的位置;

在完成链接器版本的验证之后,根据manifest文件中的链接参数和代码生成器产生的链接脚本,根据manifest文件中的链接参数和代码生成器产生的链接脚本,交叉工具链中的链接器执行链接环节,将程序的各个段链接到指定的位置。

本发明的有益效果在于由于采用在manifest文件中加入交叉工具链的版本信息和编译链接参数,消除了因编译器和链接器版本不同造成编译链接结果不正确的可能性;设计代码生成器来自动生成源代码和链接脚本,并通过形式化的方法对代码生成器进行验证,简化了程序开发过程,同时也保证了源代码和链接脚本的可靠性,消除了因手动编写源代码和链接脚本而引入错误的可能性。

附图说明

图1是本发明分区实时操作系统分区实现方法的示意图;

图2是本发明manifest文件组成示意图;

图3是本发明代码生成器及交叉工具链版本检查示意图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

manifest文件最初为了解决windows操作系统下同一个dll文件不同版本的问题,本发明将其用作解决同一个交叉工具链因版本不同导致可执行文件出错的问题,并在manifest文件中进行分区参数的配置。

首先在manifest文件中规定分区配置信息、交叉工具链的版本信息和编译链接参数,然后设计代码自动生成器,使得源代码和链接脚本自动生成,并对代码生成器进行形式化验证,从数学和逻辑学的角度证明代码生成器生成的代码与manifest文件中数据的一致性。在进行程序编译时,通过获取manifest文件中规定的交叉工具链编译器和链接器的版本信息,对编译器和链接器的版本进行验证,然后根据manifest中的编译链接参数进行程序的编译和链接。

步骤一、用户编写manifest文件;

manifest文件以xml格式表示,将分区作为manifest文件的根元素,通过元素属性的方式规定交叉工具链的版本信息以及编译链接参数,然后通过标签描述分区的分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表;

用户根据实际使用需求,确定分区数量,建立与分区数量对应的分区元素,然后根据每个分区功能需求的不同,对分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表的标签进行设定,例如,根据某一分区内代码功能的关键等级,来确定分区的关键等级,分区空间配置通过设定分区的起止地址定义每个分区所独有的存储空间,分区时间配置通过设定分区内任务的执行时间和调度顺序定义了分区的时间调度信息;

步骤二、通过数据软总线获取manifest文件的信息;

将步骤一完成的manifest文件挂接到数据软总线上,数据软总线获取manifest文件中的数据信息;

步骤三、使用arinc653xml-schema对获取到的manifest信息进行校验;

manifest文件中的信息包含两部分:一部分是分区配置信息,另一部分是交叉工具链版本信息和编译链接参数;

依据arinc653标准的要求,使用arinc653xml-schema对分区配置信息进行校验,通过校验的manifest文件作为分区配置文件继续使用;

步骤四、设计代码生成器,并对代码生成器进行形式化验证;

从步骤三通过校验的manifest文件的分区信息中提取各个分区的参数,根据提取参数编写源代码和链接脚本,不但使得程序的开发变得繁琐,同时增加了引入错误的可能;

通过文本替换的方式设计代码生成器,提高了代码的复用性,简化程序开发过程;采用形式化的方法对代码生成器进行验证,从数学的角度保证了所生成的源代码和链接脚本的可靠性,消除了因手动编写源代码和链接脚本引入错误的可能性;

步骤五、获取步骤三通过校验的manifest文件中的交叉工具链编译器版本信息和编译参数,并对编译器版本进行检查;

通过代码生成器产生的源代码在进行编译之前,根据步骤三通过校验的manifest文件中规定的编译器版本信息对与实际使用的编译器版本进行对比,确保编译器版本的正确性,防止因编译器版本不同造成的编译结果错误;

步骤六、编译代码生成器生成的源代码。

获取步骤三通过校验的manifest文件中的编译参数,使用版本相同的编译器编译源代码;

步骤七、获取步骤三通过校验的manifest中的交叉工具链链接器版本信息和链接参数,并对链接器版本进行检查;

完成步骤六中源代码的编译之后,对比manifest中规定的交叉工具链链接器版本信息和实际使用的链接器版本信息,确保所使用的链接器为规定版本,防止因链接器版本不同导致链接结果错误;

步骤八、根据代码生成器产生的链接脚本,将应用程序链接到指定的位置。

在完成链接器版本的验证之后,根据manifest文件中的链接参数和代码生成器产生的链接脚本,根据manifest文件中的链接参数和代码生成器产生的链接脚本,交叉工具链中的链接器执行链接环节,将程序的各个段链接到指定的位置。

参照图1-3,本发明的实施例关于分区实时操作系统的分区实现方法步骤如下:

第一步、用户编写manifest文件。manifest文件以xml格式表示,描述了分区的分区名称、分区空间配置、分区时间配置、分区关键等级、分区使用的外部设备和分区健康监测表等信息,除此之外,还规定了交叉工具链的版本信息以及编译链接参数。

用户根据实际使用需求,对分区数量进行设定,然后根据每个分区功能需求的不同,对分区的各个参数进行设定,分区空间配置定义了每个分区所独有的存储空间,分区时间配置定义了分区的时间调度信息。

第二步、通过数据软总线获取manifest文件的信息。完成manifest文件的编制,将manifest挂接到数据软总线上,数据软总线获取到manifest中的数据信息。

第三步、使用arinc653xml-schema对获取到的manifest信息进行校验。

manifest文件中的信息主要包含两部分:一是分区配置信息,另一部分是交叉工具链版本信息和编译链接参数。

依据arinc653标准中要求,使用arinc653xml-schema对分区配置信息进行校验,通过校验后的manifest文件才会作为分区配置文件继续使用。

第四步、设计代码生成器,并对代码生成器进行形式化验证。根据manifest文件,手动编写源代码和链接脚本,不但使得程序的开发变得繁琐,同时增加了引入错误的可能。

通过设计代码生成器,提高了代码的复用性,简化程序开发过程。采用形式化的方法对代码生成器进行验证,从数学和逻辑学的角度保证了所生成的源代码和链接脚本的可靠性,消除了因手动编写源代码和链接脚本引入错误的可能性。

第五步、获取manifest中的交叉工具链编译器版本信息和编译参数,并对编译器版本进行检查。

通过代码生成器产生的源代码在进行编译之前,根据manifest中规定的编译器版本信息对编译器版本进行检查,确保编译器版本的正确性,防止因编译器版本不同造成的编译结果错误。

第六步、编译代码生成器生成的源代码。获取manifest文件中的编译参数,使用规定版本的编译器编译源代码。

第七步、获取manifest中的交叉工具链链接器版本信息和链接参数,并对链接器版本进行检查。完成源代码的编译之后,根据manifest中规定的交叉工具链链接器版本信息对链接器版本进行检查,确保所使用的链接器为规定版本,防止因链接器版本不同导致链接结果错误。

第八步、根据代码生成器产生的链接脚本,将应用程序链接到指定的位置。在完成链接器版本的验证之后,根据manifest中的链接参数和代码生成器产生的链接脚本,执行链接环节,将程序的各个段链接到指定位置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1