基于国产CPU 和国产操作系统的地面控制系统开发

2020-01-10 05:24贾圣羽中国特种飞行器研究所
科海故事博览 2020年1期
关键词:龙芯自带麒麟

贾圣羽 中国特种飞行器研究所

一、引言

国内相关单位曾通过对某些国外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版本下开发的程序移植成功。

猜你喜欢
龙芯自带麒麟
基于国产化龙芯的动环数据采集系统
麒麟“破冰”
对麒麟
白垩纪昆虫 仍能『自带光芒』的穿越亿年
它就是麒麟
周迅:天才,自带拨乱反正的能量
好的爱情自带成长属性
“龙芯之父”胡伟武
Research on the Low—Carbon Life of Student
“龙芯1号”:电脑中国“芯”