基于国产CPU和国产操作系统的地面控制系统开发
贾圣羽
摘 要 为了提高某系统的安全性,保证核心软硬件自主可控,在不降低性能的条件下,对系统中使用到的核心芯片和操作系统进行国产化替代方案研究,通过调研国内的芯片和操作系统供应商,选择满足功能、性能等要求的芯片和操作系统,集成可行的软件开发环境,基于QT开发系留气球地面控制系统软件,并在实际项目中应用,实践证明国产芯片和国产操作系统的组合可以运行稳定,在性能满足要求的情况下,可以替代国外产品,为其他准备采用国产化芯片和操作系统的项目提供参考。
关键词 国产芯片 国产操作系统 QT 地面控制系统
一、引言
国内相关单位曾通过对某些国外CPU的严格测试,证实存在功能不明确的“多余”模块,还发现存在未公开指令,包括加解密、浮点操作在内共计二十余条。其中,有三条指令在用户模式就可以使机器死机或重启,作用机制直接穿透各种软件保护措施,防护软件不能感知,普通应用程序中嵌入一条即可使系统宕机。这些存在问题的芯片要是被用在航空、航天、党政办公等核心关键领域,将可能造成严重后果,因此,必须将芯片国产化替代提升到国家安全层次,在关乎国家安全的战略行业,必须使用中国芯[1]。
目前国内的计算机核心芯片都是Intel或者AMD的,操作系统都是windows操作系统,应用软件由各家公司自主开发。基于目前国际信息安全局势和国家对核心软硬件自主化的要求,需要搭建一套核心硬件自主研发、操作系统自主研发的开发环境,在此基础上自主开发软件。
二、需求分析
1.计算机的核心硬件自主可控,性能不能低于现在使用的计算机,至少具备2路以太网口,2路RS232串口。
2.操作系统自主可控,与计算机硬件兼容性好,提供成熟可靠的软件开发环境。
3.基于以上软硬件环境自主开发地面控制软件。
三、系统方案
(一)环境搭建
1.国产化芯片
本项目不讨论CPU的制造问题,主要从设计上满足自主可控,避免留有后门。从CPU设计方面来看,国产的CPU有以下几个类型:
(1)完全自主设计的芯片。代表产品如龙芯,属于MIPS兼容架构,从下到上都是自主设计,指令集虽然是模仿的,但算是自主的,现代CPU架构下指令集的差异性已经不大了。主要应用于低功耗服务器、个人计算机、工业控制、网络安全方面;
(2)开源方案,其中的代表就是SPARC架构的CPU。这一类CPU基本不会用在民用领域,大多用在航空领域[2];
(3)购买方案,基于国外的架构开发的芯片。代表产品有申威处理器,在太湖之光超级计算上有应用,前三代源于DEC Alpha架构,第四代开始架构不详,架构设计类似与Power cell架构;
(4)授权方案,经过一定的延伸性设计,然后生产的芯片。代表类型是华为海思、飞腾和兆芯,华为海思是拿到ARM的授权,然后重新设计的;国防科大的飞腾芯片,产品架构从sparcv8架构转到ARM架构都有;兆芯的芯片是基于X86架构开发的。
基于以上情况分析,经过厂家调研、资料查询和供应商咨询,综合可靠性和性能需求,决定选用应用更广泛的龙芯3A3000系列CPU(四核,主频1.2GHz),还有更高端的 3A4000系列(2.0GHz),3A5000系列(2.5GHz)正在测试。
2.国产操作系统
通过与供应商咨询,与龙芯3A3000系列芯片兼容性比较好的国产操作系统是中标麒麟操作系统。中标麒麟桌面操作系统是一款面向桌面应用的图形化桌面操作系统,是国家重大专项的核心组成部分,是民用、军用“核高基”项目桌面操作系统项目的重要研究成果,该系统成功通过了多个国家权威部门的测评,为实现操作系统领域“自主可控” 的战略目标做出了重大贡献,在国产操作系统领域市场占有率稳居第一[3]。
中标麒麟操作系统采用強化的Linux内核,界面基本就是参考windows,有XP和win7两种主题可以切换,方便用户操作。本项目使用的系统版本内置的IDE(集成开发环境)只有QT5.6版本,若想安装其他版本的QT或者其他厂家的IDE,甚至是系统没有自带的其他应用软件,需要和中标麒麟厂家沟通咨询,通常需要复杂的适配过程,适配费用很高(以万为单位计,批量的话可以考虑)。其他自带的软件有华标版的office套件(word,Excel和PPT),中文输入法等常用应用。
(二)软件开发
因项目进度要求,硬件采购和软件开发需同时进行。项目组在虚拟机上进行软件开发,根据以往项目的经验决定在4.8.7版本的QT下开发,开发过程与在windows和iOS下是一样的,根据项目需求进行设计、编码、测试和应用部署。
硬件到货之后发现操作系统自带的是QT5.6版本,经过部分设置更改,重新编译,程序顺利运行。目前部署完成的系留气球地面控制系统软件已连续运行半年多,系统稳定无故障。同时,有另外一个项目组使用QT5.9.1开发程序,开发完成后尝试移植到新的计算机上,截至目前没有移植成功。
四、结论
1.龙芯3A3000系列CPU性能和Intel、AMD还是有差距的,不过和中标麒麟桌面版操作系统的组合稳定,兼容性好,基本满足使用要求。
2.编译运算量大的程序时,速度慢,CPU使用率接近100%。
3.操作系统支持的软件少,可扩展性弱,使用过程中,不要随意删除系统自带的功能,更改系统设置,否则系统可能无法正常使用。
4.最好使用系统自带的开发环境,如QT5.6,或者更低版本的IDE进行软件开发,5.9版本开发的程序很难移植到中标麒麟系统下(实际操作未成功),在QT4.8版本下开发的程序移植成功。
参考文献:
[1]必须将芯片国产化替代提升到国家安全层次.铁流.环球时报[引用日期2018- 06- 14].
[2]李富刚.龙芯+Linux 国产CPU和操作系统现状分析.中关村在线,2017- 05- 13.