本发明涉及机电设备领域,尤其涉及一种基于虚拟机的机载显示可移植系统及构建方法。
背景技术:
1、arinc 653标准是由aeronautical radio, inc. (arinc)开发的一套用于航空电子系统中的实时操作系统(rtos)架构标准。该标准旨在为航空电子设备定义一套通用的架构和接口,以支持分区化的实时系统设计。其核心目标是在多个分区之间提供确定性的行为,确保每个分区具有独立的资源和确定的执行时间,从而提高整个系统的安全性和可靠性。
2、现有的arinc 653操作系统均为商业操作系统,一般来说成本高昂,具有潜在的维护和支持风险,对航电系统开发人员来说,是一套缺乏社区支持和受限的开发环境,这往往影响了最终产品的交付周期,并增加了开发成本和风险。
3、综上所述,需要一种基于虚拟机的机载显示可移植系统及构建方法来解决现有技术中所存在的不足之处。
技术实现思路
1、针对现有技术的不足,本发明提供了一种基于虚拟机的机载显示可移植系统及构建方法,旨在解决上述问题。
2、为实现上述目的,本发明提供如下技术方案:一种基于虚拟机的机载显示可移植系统,包括应用层、虚拟机监控层和操作系统抽象层,
3、应用层,运行基于apex api的机载应用,
4、虚拟机监控层,提供软总线服务,用于虚拟机间的分区之间通信,
5、操作系统抽象层,用于在内核层面对各个分区进行cpu时间调度;
6、应用层的运行依赖于操作系统抽象层提供的服务。
7、可选的,所述应用层设置apex接口,适于开发arinc 653应用的底层服务,通过apex接口并利用操作系统抽象层,在不同操作系统上为分区内的进程提供底层服务和资源管理策略。
8、可选的,所述虚拟机监控层的任务包括:
9、通过虚拟化使上层arinc 653分区具有安全性和应用二进制接口具有兼容性;
10、通过软总线服务,虚拟机间的arinc 653分区能够相互通信,是通过虚拟i/o和宿主机上的进程间通信机制来模拟实现的。
11、可选的,所述操作系统层的核心为通过调度不同的hypervisor对运行在虚拟机中的arinc 653分区的调度。
12、一种基于虚拟机的机载显示可移植系统构建方法,包括以下步骤:
13、步骤s1:选择宿主机,根据航电系统的顶层需求确定硬件平台,在选定的硬件平台上运行linux操作系统;
14、步骤s2:分区调度,利用ebpf在linux操作系统上对arinc 653分区进行调度;
15、步骤s3:软总线配置通信,基于linux ipc机制提供软总线服务,并配置arinc 653分区间的通信;
16、步骤s4:软件源代码模块建立,根据航电软件的功能需求,基于分区设计和arinc653建立软件源代码模块;
17、步骤s5:编译可执行文件,若操作系统提供arinc 653接口,则仅将航电软件源代码编译为可执行文件,反之,则将航电软件源代码与arinc 653服务层/os抽象层一起编译为可执行文件;
18、步骤s6:软件打包,将操作系统和航电软件可执行文件打包成一个可执行软件包,该软件包将在虚拟机中运行;
19、步骤s7:整体打包,将宿主机操作系统、分区调度器/软总线、虚拟机和基于虚拟机的航电软件在内的整体系统打包;
20、步骤s8:部署运行和测试,在宿主机中部署、运行并测试上述打包的软件。
21、可选的,所述步骤s1中选择宿主机具体通过以下步骤:
22、步骤s11:明确航电系统的需求,包括cpu的计算能力、存储需求和接口类型,以及实时性要求;
23、步骤s12:根据航电系统需求选择硬件平台,硬件平台包括但不限于嵌入式处理器、单板计算机或工业级计算机;
24、步骤s13:配置linux操作系统,根据需求选择linux操作系统版本,再根据硬件特性和应用需求定制linux操作系统内核,安装必要的工具链,配置文件系统,选择合适的文件系统格式并启动加载器;
25、步骤s14:开发与测试,在宿主机上搭建开发环境,进行软件开发,编写应用程序,进行全面测试。
26、可选的,所述步骤s2中分区调度通过以下方式:
27、步骤s21:使用cgroups来创建不同的分区,为每个分区配置独立的文件系统挂载点和其他命名空间;
28、步骤s22:编写ebpf程序来拦截特定的系统调用来控制任务调度,bpf程序根据预定义的时间表来决定哪个分区的任务应该被执行;
29、步骤s23:定义每个分区的任务列表及其执行时间表,在ebpf程序中使每个任务按照预定的时间触发执行;
30、步骤s24:任务间的通信,为分内的任务设置共享内存区域或ipc机制,使分区间相互通信;
31、步骤s25:进行测试和验证,使调度行为符合arinc 653标准的要求。
32、可选的,所述步骤s3中配置arinc 653分区间的通信包括以下内容:
33、定义通信协议:确定消息格式、传输方式和错误处理机制;
34、创建分区:使用cgroups来创建不同的分区,并为每个分区分配独立的资源;
35、设置ipc机制:选择共享内存或套接字作为通信机制,创建必要的共享内存段或套接字,使每个分区能够正确地使用;
36、编程实现,在每个分区中编写适当的代码来实现发送和接收消息的功能,若使用共享内存,则数据保持一致。
37、可选的,所述步骤s4中软件源代码的建立具体通过以下方式:
38、步骤s41:明确功能需求,根据相应时间、吞吐量和资源占用性能指标,识别安全关键区域,确定安全等级;
39、步骤s42:根据功能需求将整个系统划分为多个逻辑分区,定义各分区之间通信接口,使数据交换符合arinc 653要求;
40、步骤s43:将每个分区进一步细分为可管理模块,为每个模块定义输入输出接口,使模块间通过arinc 653 api进行通信;
41、步骤s44:选择合适的编程语言,按照模块化原则编写代码,使每个文件负责一个功能点;
42、步骤s45:对每个模块进行单独测试和组合测试,使模块间协同工作正常;
43、步骤s46:对安全关键领域验证代码的正确性,满足arinc 653标准的要求。
44、本发明的有益效果:
45、1、本发明中,开发arinc 653系统在改变底层os,可以复用绝大多数的上层代码,降低了全系统开发成本;
46、2、本发明中,可以跨不同的硬件运行,可以在开源系统中开发调试机载系统的应用,降低试错成本,可以直接部署于非关键航电设备。
1.一种基于虚拟机的机载显示可移植系统,其特征在于,包括应用层、虚拟机监控层和操作系统抽象层,
2.根据权利要求1所述基于虚拟机的机载显示可移植系统,其特征在于,所述应用层设置apex接口,适于开发arinc 653应用的底层服务,通过apex接口并利用操作系统抽象层,在不同操作系统上为分区内的进程提供底层服务和资源管理策略。
3.根据权利要求2所述基于虚拟机的机载显示可移植系统,其特征在于,所述虚拟机监控层的任务包括:
4.根据权利要求1所述基于虚拟机的机载显示可移植系统,其特征在于,所述操作系统层的核心为通过调度不同的hypervisor对运行在虚拟机中的arinc 653分区的调度。
5.一种基于虚拟机的机载显示可移植系统构建方法,其特征在于,包括以下步骤:
6.根据权利要求5所述基于虚拟机的机载显示可移植系统构建方法,其特征在于,所述步骤s1中选择宿主机具体通过以下步骤:
7.根据权利要求5所述基于虚拟机的机载显示可移植系统构建方法,其特征在于,所述步骤s2中分区调度通过以下方式:
8.根据权利要求5所述基于虚拟机的机载显示可移植系统构建方法,其特征在于,所述步骤s3中配置arinc 653分区间的通信包括以下内容:
9.根据权利要求5所述基于虚拟机的机载显示可移植系统构建方法,其特征在于,所述步骤s4中软件源代码的建立具体通过以下方式: