指挥信息系统国产化基础软件平台研究

2019-03-01 02:00贾晨星王雅浩
指挥控制与仿真 2019年1期
关键词:跨平台信息系统架构

贾晨星,周 宇,王雅浩

(国防大学联合作战学院指挥信息系统演训中心,河北石家庄 050084)

以指挥信息系统为重要手段支撑的信息化战争已成为当今世界战争的基本形态[1-4]。目前,联合作战指挥中心、军兵种指挥机构、武器平台、单兵手持移动终端,均已逐步配备功能全面、体系化指挥信息系统,能够基于系统展开作战指挥和演训[5]。但必须承认,仍有一些制约指挥信息系统效能发挥的关键问题,国产化基础软件平台就是其中一个重要环节。

1 指挥信息系统基础软件平台的定义与边界

指挥信息系统通常配置于各级指挥机构、武器平台和单兵智能终端,如图1所示。搭载指挥信息系统运行的硬件设备主要有服务器、桌面计算机、手持智能终端、武器平台嵌入式装备等,这些硬件设备为指挥信息系统运行提供了基础硬件环境支撑。在硬件环境之上,还需配置相应的操作系统、数据库、文本处理、运行库等软件环境,才能确保指挥信息系统的正常运转和效能发挥。

图1 指挥信息系统典型应用场景示意图

指挥信息系统基础软件平台,以操作系统为核心,综合集成指挥信息系统开发与应用所必需的浏览器、文字处理、影音处理、数据库等共性软件和运行支撑库、代码开发/编译等工具,是保证指挥信息系统发挥作战效能的基本软件环境。在指挥信息系统体系架构中,基础软件平台具有承上启下的关键作用,向下适配兼容服务器、桌面计算机、移动手持终端、武器平台嵌入式装备等各类硬件环境,保证硬件性能得到充分发挥;向上要为指挥信息系统提供操作系统、通用共性软件与运行环境支撑,并可根据指挥信息系统配置环境与应用需求做适应性扩展,实现指挥信息系统快速开发和跨平台复用。

2 指挥信息系统基础软件平台需求分析

目前,指挥信息系统基础软件平台迫切需要解决三个方面的问题[6-9]:

1)操作系统及应用软件国产化,确保核心技术自主可控。目前,指挥信息系统的研发与应用普遍依赖国外厂家的操作系统和数据库、文本处理、图形图像等软件支撑,导致系统存在安全后门,极大威胁系统稳定性和信息数据安全性。一旦战争来临,随时可能面临敌方技术封锁。这种平时受限于人,战时受制于人的被动局面,导致指挥信息系统的保障能力和可用性、稳定性大打折扣,核心技术自主可控成为当务之急。

2)前瞻性适配国产化硬件环境,实现系统平稳移植和灵活部署。随着我国科学技术快速发展和生产力水平不断提高,指挥信息系统硬件环境必将逐步实现国产化,这要求指挥信息系统基础软件平台必须在满足当前的基础上,前瞻性地适配兼容国产化芯片、显卡等硬件。此外,常见的系统研发模式导致系统与操作系统、处理器芯片之间存在强耦合关系,基础软件平台必须实现指挥信息系统与硬件设备解耦合,进而实现系统跨平台灵活部署。

3)应对未来作战新需求,支撑指挥信息系统快速开发与应用。随着联合作战样式快速发展变化和对一体化体系作战的研究不断深入,对指挥信息系统的功能需求也将不断深化、细化,新一代指挥信息系统必须能够紧跟作战任务需求变化,具备按需改造和快速开发能力。因此,指挥信息系统基础软件平台必须集成常用软件工具和系统开发基础环境。

因此,针对上述问题和需求,有必要面向指挥信息系统典型应用场景和基础硬件环境,构建一种以国产操作系统为底层支撑,综合集成共性软件和跨平台开发编译工具的指挥信息系统基础软件平台,实现指挥信息系统的多场景适配、多硬件平台复用、快速开发与灵活部署。

3 指挥信息系统基础软件平台设计

指挥信息系统基础软件平台由国产操作系统、共性软件和跨平台软件复用开发/编译工具包构成,如图2所示。基础软件平台基于国产操作系统,向下对服务器、桌面计算机、手持终端、武器平台4类系统硬件环境适配与优化。在国产操作系统之上,集成常用软件运行库和通用共性软件,为指挥信息系统提供运行环境和软件工具支撑。跨平台软件复用开发/编译工具包为共性软件和上层指挥信息系统、业务软件提供跨操作系统、硬件平台开发与编译的工具支撑,减少指挥信息系统重复开发所导致的资源浪费,实现指挥信息系统的平稳移植和灵活部署。

图2 指挥信息系统基础软件平台架构

4 指挥信息系统基础软件平台实现

基于国产操作系统指挥信息系统基础软件平台的实现,重点解决3个关键问题:1)对指挥信息系统典型应用场景硬件平台的普遍适配与性能优化;2)软件运行库、共性软件集成与优化;3)跨平台软件复用。

4.1 基于国产操作系统的硬件适配与优化

基于国产操作系统的硬件适配与优化,采用设备驱动层、操作系统核心功能层、设备访问接口层三层架构,如图3所示。

图3 硬件适配与优化框架

1)设备驱动层

设备驱动层以设备驱动框架形式为硬件设备提供针对国产操作系统的驱动支持。按照硬件功能,可将硬件设备抽象为字符设备、块设备、网络设备、显示设备和总线类设备5类。对每一类硬件设备共性功能和个性功能抽象分离,将共性功能驱动封装到设备驱动框架中;对于个性功能,在设备驱动框架中提供标准接口硬件操作回调函数,操作系统核心功能层和上层应用软件可以基于回调函数实现对硬件设备个性功能的驱动。

2)操作系统核心功能层

操作系统核心功能层为上层软件环境和底层硬件环境提供操作系统运行环境支撑,采用内核态与用户态相互隔离的架构,如图4所示。内核态负责处理特权模式下与CPU及其他硬件外设相关任务,将进程线程管理、任务间通信和用户业务逻辑都放到用户态。这种内核态与用户态相互隔离的架构,可以保证操作系统运行状态不受用户态应用状态的影响,有效避免因用户业务逻辑崩溃导致系统崩溃,提高操作系统运行稳定性。

在内核态中,CPU子系统支持主要负责CPU通电初始化,操作系统核心代码加载与引导。内核态功能层提供硬件设备在CPU特权模式下运行的功能代码。用户态功能层为指挥信息系统、专业软件和各类运行支撑库提供操作系统调用接口支持,包括进程与线程管理、任务间通信机制和用户态操作系统编程接口。用户态功能层与内核态功能层共同配合,为底层硬件设备提供基于SMP和AMP的并行架构支持。

图4 操作系统核心功能层架构

3)设备访问接口层

为了保证上层应用软件能够无差别访问底层硬件设备,基础软件平台向上层提供统一硬件设备访问接口支持。通过设备访问接口,应用程序可以如同访问文件一样来访问底层硬件设备,发送设备相关底层控制命令,而无须关注设备访问的实现细节。

由于不同应用场景下,硬件配置和对指挥信息系统的支撑作用不尽相同,对硬件适配与优化需求也就不同。因此,在上述技术架构的基础上,分别针对4类主要硬件环境,实现差异化的适配与优化。

4.1.1 面向服务器的适配与优化

针对服务器的软、硬件环境特征,在特殊硬件设备驱动和操作系统核心功能层做适应性优化。在设备驱动层,应对服务器在网络通信和图形处理方面的需求,优化网卡的通信能力,支持基于GPU加速的图形显卡驱动和并行计算驱动。

在操作系统核心功能层,增加如下用户态功能组件:

●可维可调组件:支持系统的维护管理和用户态或内核态程序的故障定位、性能测评和优化。

●可配置组件:支持系统的实时在线诊断,精确定位问题并快速修复。

●可靠性组件:为系统硬件提供较高级别保护,硬件错误记录能够自动上报,软件能够根据上报的硬件错误做恢复或者隔离处理。

●系统安装组件:支持操作系统到目标主机按需定制安装,为服务或应用建立基础运行环境。

●系统安全组件:由内核安全、网络防护、用户认证、访问控制、系统服务集和系统日志等子功能组成,保障系统安全性。

●集群与高可用支持组件:为了保障服务器在复杂环境下稳定运行,所有信息处理业务在服务器上的部署需要以多机热备的模式进行高可用部署。

●安全加固组件:支持基于生物识别技术的系统登录控制和管理员分级控制策略,提供操作系统可信启动和应用可信识别技术,保证只有可信操作系统核心组件和应用才能在系统指定的服务器设备上运行。

●虚拟化与容器组件:虚拟化与容器机制配合,支持基于AMP的并行架构服务。

4.1.2 面向桌面计算机的适配与优化

桌面计算机设备的硬件适配与优化拟采用如图5所示架构。在统一架构基础上,为了实现类Windows的桌面风格,在操作系统核心功能层中增加图形子系统层和桌面功能层。图形子系统层提供窗口管理器和实现桌面环境的底层元素,包括GTK、QT、GDK等。桌面功能层提供与Windows桌面风格一致的开始菜单程序、应用管理器、桌面面板、资源管理器和设备管理器等桌面操作工具。此外,为了支持3D绘图和渲染软件,在设备驱动层,重点针对主流厂商的GPU显卡进行3D驱动的适配与优化。

图5 桌面计算机硬件适配与优化架构

4.1.3 面向手持终端的适配与优化

手持终端设备的硬件适配与优化拟采用如图6所示架构。作为手持终端设备,重点关注对各种触摸屏外设、3D加速、视频图像的支持和强调宽范围接入协议支持。因此,在设备驱动层,将重点针对手持终端中广泛应用的消费类GPU、外设与传感器设备、各种无线通信设备模块提供驱动适配和优化。其中,针对消费类GPU提供3D图像显示的加速驱动和硬件媒体解码支持的加速。

在操作系统核心功能层,设计内核、系统平台和应用框架三层架构。其中,内核层提供Selinux的安全加固优化;系统平台层提供WIFI、4G、卫星等无线通信协议模块、3D加速图形框架和多媒体处理框架。应用层提供基于QT/QML的安全图形框架和HTML5的运行环境支持,支持APP模式的图形应用和基于BS模型的图形应用。同时,为了利用安卓的优势资源,提供基于QT的安卓APK运行环境适配框架,支持安卓应用程序运行。

图6 手持终端硬件适配与优化系统架构

4.1.4 面向嵌入式装备的适配与优化

武器平台的硬件适配拟采用如图7所示架构。针对嵌入式应用特点,将设备驱动层分为最小系统设备驱动和通用设备驱动两部分。为了适应武器平台嵌入式装备系统与软件应用对于实时性和安全可靠需求,在操作系统功能层引入BSP功能和系统扩展功能。其中,BSP功能层提供BSP(板级支持包),为硬件提供最小系统所需的驱动,并针对不同应用环境对内核进行实时优化。系统扩展功能层在内核基础上扩展系统功能,主要包括:

●可靠可维护性扩展:为武器平台嵌入式系统提供shell工具、运行时内存越界检查、黑匣子内存支持等可调可维护性功能扩展。

●实时优化扩展:为保障武器平台对实时任务的及时响应,对国产处理器进行中断响应和中断处理流程的优化,合理安排开关中断时间内的处理流程,满足响应时间需求;建立优先级任务调度机制,优先处理实时任务。

●安全可控扩展:通过增加可信启动、业务逻辑用户态空间和关键路径逻辑内核态空间隔离等措施,加固系统安全。

●节能降耗扩展:通过优化功能层的电源驱动,充分利用CPU和外设的电源管理能力达到节能降耗目的。

●并行架构扩展:基于SMP并行架构和基于AMP并行架构扩展,如图8所示,充分利用多核CPU的并行处理能力,提高系统的整体响应能力。

图7 嵌入式装备的适配与优化架构

图8 SMP和AMP并行架构

4.2 软件运行库、共性软件的集成与优化

软件运行库基于适应性改造后的国产操作系统,为指挥信息系统、共性软件提供统一封装的运行库支持。主要包括软件运行所必需的GNU C/C++库、JAVA运行环境、媒体支持库、基础图形库、位置信息支持库、TCP/IP网络编程库等软件运行库。

在国产操作系统和软件运行库的基础上,实现共性软件集成,主要包括浏览器、媒体处理器、字处理软件、JAVA开发软件和国产数据库软件,如图9所示。为了优化共性软件性能,在设备驱动层,增加针对典型主流GPU的多媒体硬件加速驱动,特别是对高清视频和多媒体音频的编解码功能硬件的加速,支持典型音视频编解码规范,如H.323,H.264。在操作系统功能层,主要是为各种浏览器软件、媒体处理软件、字处理软件和JAVA运行软件和国产数据库提供运行支撑,主要包括:为浏览器软件提供HTML协议解析、JAVA Script解释器、浏览器图形渲染支撑;为多媒体处理器提供通用媒体处理库,如基于开源FFMPEG库优化的媒体处理库和X264媒体处理库;为微软软件提供Windows仿真器。

图9 软件运行库与共性软件

4.3 跨平台软件复用

通过以下方法,实现指挥信息系统跨硬件设备和操作系统复用:在软件运行库中,提供操作系统级别的运行支撑库,满足跨操作系统运行的需求;为了复用嵌入式应用程序,提供针对主流嵌入式系统的API封装;构建跨平台复用开发/编译工具包,主要包括代码开发工程管理、代码编辑工具、符合GNU规范的跨平台交叉编译工具、代码覆盖率检查工具、远程调试器、性能调优等工具,如图10所示。

图10 软件集成开发环境

5 结束语

本文从核心技术自主可控的国家战略出发,围绕操作系统国产化、国内外硬件强适配性、多场景灵活部署等新一代指挥信息系统发展迫切需求,提出指挥信息系统基础软件平台的概念,面向服务器、桌面计算机、手持终端、武器平台4类硬件环境,构建一种以国产操作系统为底层支撑,综合集成软件运行库、共性软件和跨平台复用开发编译工具包的平台架构,并对基于国产操作系统的硬件适配与优化、软件运行库和共性软件集成与优化、跨平台复用等平台实现关键问题进行研究,对实现指挥信息系统多场景适配、多平台复用、快速开发与灵活部署具有一定参考价值。

猜你喜欢
跨平台信息系统架构
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
一款游戏怎么挣到全平台的钱?
2022年信息系统与运营管理专栏征稿
功能架构在电子电气架构开发中的应用和实践
基于排队论的信息系统装备维修保障效能分析
潜力双跨平台:进阶:谁将跨入下一个“十大”?
基于B/S架构的图书管理系统探究
基于并行构件技术的医疗信息系统的设计与实现
构建富有活力和效率的社会治理架构
VoLTE时代智能网架构演进研究