战斗机源代码是什么东西?

萧径停


说起来忒简单,战斗机电脑的核心操作系统嘛,使用的编程语言,即源代码,这台电脑能干什么,不能干什么,都由其控制,比如加装新型导弹,即要更改发射程序设计,不然的话,战机电脑就会告诉你不受支持。没有加装计算机的战斗机,走进座舱,令人眼花缭乱,各种密密码的按钮和开关,真是让人头大,现在走进去,一块玻璃屏,非常爽心悦目,好了还想好,全部显示在战斗头盔上,随飞行员的眼睛,可以实现各种操作,甚至语音控制都可以,说声发射,导弹就飞出去,可以说最大程度地减少了飞行员的疲劳,也最大程度地把握住战斗和生存机会,好是好,所谓有一利必有一弊,不得不面临升级极其复杂的技术问题,硬件损坏显示数据不准,给战机操纵带来极大危险,充满了不确定性。也可以说,源代码也是致命性的。

▲致命源代码。2018年,一架F-35B失事,原因就在于,显示错误,而显示错误,是由于大气传感器在空中结冰造成的,结了冰,显示屏中没显示,加之起飞迎角过大,可不就出了事呗。这么棒的战斗机,出现这样低劣的错误,为什么?不是战机源代码设计不成,而是太多太复杂,800多万程序,更改哪项都费劲。战机传感器太多,飞机设计得太复杂,什么都想要,整合到一起,引起了极大的麻烦。F-35C起落架设计有点问题,有人说,改过来就是,其实并不简单,交付二年来,仍然不能改正,改一项而动全身,这就是战机的源代码。再比如F-35高空缺氧的问题,F-22到现在也存在是一问题,洛马公司搞不清究竟是战机计算机源程序不对,还是生命保障系统不对,拆下来测试好好的,生生装上去就有问题。所谓动一动,要你的命,源代码问题着实复杂。

▲开放的“枭龙”。2015年,巴基斯坦空军一中将,对媒体说,已经获得了“枭龙”全部源代码,这就意味着,想怎么用就怎么用,想加装什么系统都可以,多配备一点外部武器,哪里想整合一个传感器,都可以自己搞了,不必再飞到中国成都来完成,开放源代码,充分显示了中巴军事合作的高水平,巴方高兴,中国也高兴,兄弟嘛,对不对?开放的“枭龙”,自当有开放的心胸。多少配件做到了即插即拔,中西兼容,巴方说,人机界面非常友好,几可随心所欲,支持各种西方硬件、软件,这使得我们自家兄弟非常happy。与此相反,我们来看印度的例子,俄印合作“布拉莫斯”,被印度倚为神器与宝器,一天到晚嚷嚷着说要卖,卖给越南卖给谁谁,卖就卖吧,不必这么大声音的,问题被视为利器,自不一般,俄罗斯轻咳一声后,印度就不吱声了,问题正出在导弹的源代码不在印度之手,嘿嘿,什么武器都有源代码,从而使得武器外销变得非常复杂。

▲卡脖子的源代码。现在所有武器系统,只有事涉电子设备,即可成为卡脖子装备,印度一款导弹,即为卡得这般嗷嗷叫,有了这东西,俄罗斯即把技术核心掌握在手里,印度外销多少,俄罗斯即可得到多少合作专利。当然也看合作水平,美国视以色列为己出,一切装备源代码即可对其开放,比如正在进行的美以F-35交易,以色列自己想改则改,维护和加装设备,就变得非常顺手。之对他国则不可能这样便利,包括日本,虽说也架设了一条生产线,但飞机出点事即不得不请来美国专家,现场指导,不知叫不叫日本技师在不在现场,看来是费劲,源代码成为不传之密。挪威和英国,兴冲冲卖回去一些,都存在着不同程度的技术问题,也只能坐等美国老师上门服务。一切都是加密的,自己破译,根本就是一项完成不了的任务。


魂舞大漠


为什么源代码这么神秘?又为什么很多企业或者作者都不会公布源代码?就拿前几年中国从俄罗斯购买苏35来说,俄罗斯不光不提供源代码,就连汉化上也想坑中国一点钱。最后导致中国一气之下用俄语版本的战斗机。为什么俄方这么抠门不提供源代码?源代码这种东西很神秘吗?掌握源代码又意味着能干什么?

源代码是什么?很多人对这个东西一知半解,多数人了解到它也仅仅只是从电影书籍中知道只言片语,其实就是电子设备通用的数据格式和编码方式,跟战斗机本身是没有关系的。而使用不同源代码的机器装到一起就不能正常工作。

源代码是程序在创造时必须的一段文本文件,是整个程序最重要的部分。不同编程语言的源代码长的也不一样,源代码决定程序的所有功能和性能。而现在战斗机因为都是电气化,因此都采用计算机控制技术,都要编制很多程序。

程序生成的源代码是很复杂的,根本没有人可以通过逆向反编译的方法得到。美国的F—35战机就有大约800万行机载软件源代码,这是控制系统关键所在,为战机核心技术。机载软件源代码控制着从武器、雷达到引擎在内的所有关键系统,是战斗机飞行及作战系统核心技术。

不光如此军用电子设备的数据格式和民用的完全不一样,所使用的也不是任何一种常用语言。举个例子说,家用电脑的数据格式是8位一个字节,所以电脑有16位、32位的。但俄式军用数据格式是18位一个字节。

总之这源代码就像电脑操作系统一样,只给你几个几口调用的地址、格式,让你可以编写应用软件,但是你不能更改操作系统。一旦操作系统升级,你不得不去买。而且一旦源代码是通过加密运行的,更是无法破译的。保住源代码就是保住了核心机密。这一点对欧洲人更重要。因为欧洲有很高的技术,拥有了代码,就可以进行修改、仿制出性能更好的飞机。


思远防务


说下F-35的OS吧,要不然很多人还有很多的疑问。

F-35的核心操作系统是Green Hills Software公司的产品,叫做INTEGRITY。这个操作系统被用在B-2、F-16、F-22、F-35上面。是一个实时嵌入式操作系统,算是F-35的软件核心部分了。

但是操作系统,顾名思义的就是一个底层的OS,起到应用级别的程序到硬件固件之间的桥梁作用。

就类似于,家里的电脑虽然安装了Windows系统,也带有声卡,但如果想让喇叭发出声音的话,那么一定还得有音频的应用程序,类似于录音机、千千静听、酷狗、网易云音乐什么的。也只有安装了特定应用程序后INTEGRITY才能起到自己的作用控制飞机的飞行。

INTEGRITY呢本身就是一个开放式系统,不仅仅在战斗机上应用,一些类似于空客的民用飞机也会使用这些系统。

这里呢就会看到一些类似于下面的部件:

战机上很常见的多功能显示屏拆下来就是这个样子的。

在这个显示屏(MFD)后面的接口大致是这样的(当然也有其他形式)

这很像我们的显示器的接口类型了,只不过这种接口是双向通讯的,接口引出的信号线被接入系统总线。

这样就会完成了一个INTEGRITY到硬件的物理连接,同样我们从系统图上可以看出,INTEGRITY支持了三种语言ADA、C、C++,这三种语言最重要的是ADA,这是一个实时操作系统的语言,用来连通设备并做出相应响应的。例如下面的十四行程序:

是将雷达告警信号和机上的一个闪灯进行连接的。由于是在Runtime下工作,因此只要雷达告警器接收到雷达信号,那么机上的闪灯就开始不停的闪烁。

同样下面的23行程序:

是战斗机数据链的程序,当战斗机从序列端口取得数据链信息后,就会直接投射到多功能显示器上。


这样我们能看到ADA程序其实特别简单了吧。就是这样的程序被战斗机广泛应用。当然了咱们刚刚说的都是一小点的功能,一架战机的功能高达上万项,因此往往一架战机的源码也得写个几百万行。


但整体上都大同小异如果有兴趣的话,可以安装一个INTEGRITY模拟程序在家里的计算机给战斗机编个程什么的,都未尝不可。


所以说啊,战斗机源代码,也并不是什么神秘的东西。只不过,你想真正的给一个声卡编程那么你至少得有一个声卡,同理,你想给一个战斗机编程,除了时间之外还真得有一架战斗机。


军武数据库


美国军方指定的编程语言是Ada,我国军方也将Ada做为军内开发标准(GJB 1383《程序设计语言Ada》),多年前曾用Ada给国外某客户开发过一套装置(非军事用途)。


A骑着白马的悟空


印象中是用A语言写,不用常用的C或C++语言,一点都不用市面采购的软件。基本上是一个武器系统就是一个独立的软件,比如歼十、055等。但同系统应该是可以升级的,还不可能做到升级就重写这么变态,比如歼十ABC。而且同公司类似的产品也有可能会有一定程度上拷贝,比如枭龙的软件可能会有部分拷贝歼十,程度多少就不清楚了,至少有些块是可以通用的,也许不多!但这是我猜的,具体怎样没问!我的一个台湾同学就是在军工系统写软件,从来不问她技术问题,怕被监听[捂脸]


紫水晶9795


所谓的源代码实际上机载系统的软件统。战斗机在早期没有什么航电系统,伴随着技术的进步,现代战机的航电系统越来越复杂,为了提高其性能安装了计算机,功能也越来越强大,这样就出现了软件系统,这样只需要对软件系统进行升级,那么可以扩充战机的功能。

与人们使用的个人电脑不同,军用战机的软件系统非常特别,无论是硬件,还是软件都属于独立的东西,我们在个人电脑使用的程序压根没法在其上运行,军用系统的软硬件升级与更新也不是随意的,不是发个升级包就可以升级了。

战机的软件系统进行升级的话,自然涉及编写新的软件代码。但是其使用军用软件,与人们使用的各种电脑软件不一样的,别说编程语言,连输入输出设备都不一样,有很大的区别,也就是说。

实际上,军用系统的软件是真正意义上的加密,没有公开的编程工程,至于软件源代码更不会有介绍。实际上涉及的是高度的军事机密,不公开的东西,为了保密,软件系统经过大量的技术处理,安插了大量的假代码等加以伪装,甚至加入了病毒来防破解,让人们无法认清它的源代码到底什么样子。

由于属于高度机密的东西,客户拿不到这个软件源代码,只能依赖供应商的合作,破解的难度极高。


麦田军事观察


就是火控计算机的程序代码,现代战机挂载的都是精确制导武器,这些武器上也都有计算机芯片和程序,与战机之间通过数据总线也有数据交换,因此都有程序代码,而编写这些的程序代码就是源代码。


老何157501439


现在的飞机是复杂的机电一体化设备,仅靠人力是无法很好地控制并发挥其性能,因此需要有自控系统辅助。目前的自控系统都是数字化的,而源代码就是数字化的软件基础。


分享到:


相關文章: