当前位置: 首页 > news >正文

「镁客·请讲」翼辉信息黄晓清:国产系统需有自己的灵魂,一行一行去码并不可怕...

发展至今,翼辉信息的系统反应速度和稳定性已经完全可以满足航天卫星、军工国防、工业控制、电力电网等高要求的应用需求。

2000年,在互联网产业兴起的大背景下,国家对底层薄弱部分——芯片及相关软硬件发展开始重视起来,于是那一年,政府推出《鼓励软件产业和集成电路产业发展的若干政策》。两年后,《振兴软件产业行动纲要》(下文简称“纲要”)也被下发。

文件下达没多久,为求快速见成效,软件产业包括各地政府都开始一股脑儿的冲入Windows、Linux等国外软件产品的阵营中。一如当时芯片产业的急功近利,桌面软件的整体发展也陷入了某种程度上的“歧途”——在《纲要》的支持下,一些地方政府开始放手采购外国软件。

前有应用带动,后有优质软件支持,我国各大产业呈现前所未有的繁荣,但这却让一众业内人士感到焦虑。有人指出,“当前本国软件产业亟需支持,特别是政府采购市场方面的支持,因为本国软件只有通过大规模使用,才能在使用中不断完善,走向成熟。”因为看得远,有部分行业人士已经有了强烈的自主意识和担忧,而这也衍生为后来国内产业独有的“国产替代”现象。

十年黑暗,尚存一丝光

在互联网大力发展的时代背景下,有一家国内自主软件开发企业的影子萌生。

“在2006年,有一位小伙子开始拿着自己写的代码跑项目了,他就是翼辉信息的创始人,韩辉。”在采访中,南京翼辉信息的总经理黄晓清颇为骄傲的介绍说。

TB1PshFDjDpK1RjSZFrXXa78VXa.jpg

图 | 南京翼辉信息总经理 黄晓清

和所有程序员一样,在学习期间,因为对技术的狂热,韩辉当时写下了一个任务调度的内核,也因此埋下了现在翼辉信息的种子。

这段代码随着韩辉走南闯北,历经近百多个项目的考验,逐步发展为现在翼辉信息主要的平台产品——SylixOS实时操作系统。但这一路走来,并不容易。因为起步晚,很长一段时间内,翼辉的产品和国外成熟的系统都是无法媲美的。

和芯片产业发展类似,在基础软件的研发上,我国也整整落后了欧美国家数十年。以SylixOS的同类竞品为例,VxWorks诞生于1983年,而QNX则是当年黑莓手机的底层软件。

黄晓清坦诚这是没有办法的事情,“加拿大、日本、瑞士,很多国家很早就有自己的底层软件,但我们国家起步晚。一直以来,在电力、轨道交通等基础建设部分,我们用的都是VxWorks,直到20013年国家正式下达批示要求产业重视国产自研软件,我们做的基础软件市场局面才正式打开。”

如黄晓清所言,在21世纪初国家软硬件产业急需支撑应用发展的大背景下,自主研发能力严重不足的缺陷一直存在,但也正是因为当时仍然有部分人坚持自主,一片黑暗中也有微弱光亮。

2013年,国家正式下达《在中国工程院一份建议上的批示》,开始对基础软件的研发提供务实的政策重视和产业支持,因而在长达十年的“孵化”下,众人极力维护的翼辉信息终于在2015年顺利诞生。

自主可控,SylixOS有自己的灵魂

产业发展不同于科学研究,在商业利益驱使下,企业从头开始码代码是一件近乎不可能的事情。因而2013年在国家强调“自主研发”开始后,很多公司的折中之策就是选择基于已有架构(如32位Arm)和开源系统(如Linux)搭建自己的研发平台系统,以服务科研院所。

在这一点上,翼辉信息具备了完胜优势。黄晓清介绍道:“我们的代码在工信部进行了源码自主率扫描,内核代码自主率100%,所有代码的自主率达到89.1%。而且目前只有我们一家做到这样。”

出于自信,也为了证明,2015年,在翼辉信息成立之际,公司毫不犹豫的将源代码开源。其实撇开自豪感,代码自主率高还有一大好处——可控。黄晓清解释说:“我们从物理层之上的底层系统开始做,而一般情况下当底层出现漏洞时,面对买来的国外代码,你是没有办法的。举个例子,Windows底层出现漏洞时,360软件就完全没辙。”

程序员是代码的灵魂,每一行都倾注了他们的思想和心血,因而如果无法知悉代码设计者的设计精神和逻辑,面临底层问题时,核心团队以外的专家们也只能无可奈何。可贵的是,SylixOS有它自己的灵魂。

“我们的团队有一百二十多人,公司有健全的培训机制,而且基础人员很稳定,曾经的创始团队也在尽心尽力地维护着它,因此我们整个团队对这款系统有着绝对的把控能力。”

TB1tGNODmzqK1RjSZFjXXblCFXa.jpg

图 | SylixOS功能框架

数据统计显示,2018年仅上半年我国进口的集成电路数量达1958亿颗,同比增长13%。不难看出,在人工智能、物联网的背景下,硬件市场需求势必增长,这样的市场变化反哺到基层设计行业,使得协同开发成为刚需,而这就需要一个可靠的底层平台。而且,现在硬件和产品更新迭代都很快,对于平台产品而言,底层维护和扩展能力都需要跟上。

黄晓清认为对于SylixOS来说,这已经完全不是问题,“我们具备支持快速迭代产品的能力,第一代产品推出,第二代产品就快要研发完成,第三代已经在研发中。而且我们的SylixOS有三大特点:和Windows一样的开发体验、与Linux一样的兼容接口和具备VxWorks一样的实时性能,这让我们足以满足物联网、人工智能等新技术催生的各类需求。”

“我们是一个一个项目做出来的”

其实大家能够想得到的诸多应用需求,对翼辉信息来说都不是难事。因为一开始翼辉信息的起点就很高,他们选择的是实时操作系统。

与通用的分时操作系统不同(Linux、Windows、Unix等),实时操作系统在航空航天、军事与工业自动化领域更具优势。因为应用在特殊领域,实时系统在调度器算法、中断响应系统、消息传递机制等性能上也有着更高的要求。以并行任务处理能力为例,其在支撑当下大多数AI计算的需求时就会更显绰绰有余。

最后在被问到用一句话总结翼辉信息的优势时,黄晓清中肯得回答说,“我们是一个一个项目做上来的。”确实,在这样一种商业形态中,代码的好坏本就口说无凭,而系统的可靠性则需看它是否能够经受住各类项目的考验。

发展至今,翼辉信息已经完成数百个项目,积累了400多家忠实企业用户,且它们遍及军民应用。目前,其平台产品SylixOS也已经与国产CPU包括龙芯、飞腾、君正、国微等达成合作,并成功发展为雷达、弹载飞控系统、星载任务计算机、机载火控系统、潜艇电力控制系统、轮式装甲车实时监控等应用的底层支持,战绩卓越。

有收获必然需要付出超出常人的辛苦,黄晓清感慨说,“从2008年,我们拿代码正式服务企业开始,十多年下来,韩辉每天都是写代码写到凌晨两三点。而我们的研发办公室每天晚上十一点也都是灯火通明。”

TB1xwtGDmrqK1RjSZK9XXXyypXa.jpg

图 | 南京翼辉信息办公场景

最后

能够看见市场需求的人很多,但数十年如一日坚持去做这件事的人很少,写代码尤其如此。发展至今,翼辉信息的系统反应速度和稳定性已经完全可以满足航天卫星、军工国防、工业控制、电力电网等高要求的应用需求,也曾收获运行八年不死机的佳绩。

但为了满足更多的应用场景,翼辉信息依然需要跑步前进,黄晓清说:“如果不能为企业带来切实的价值,我们是不会贸然进去的。现在我们还需要加强系统的通讯能力,丰富工具链并加速扩大系统的功能,最终做成一个大的基础软件平台,为更多企业提供更加优质的服务。”

【镁客·请讲】专注于报道科技创新项目;我们敞开心扉面对每一位创业者,力求为您呈现一群鲜活、有性格的品牌和人物;我们倾听创业故事和人生经历、探讨商业模式和行业趋势、对接资本市场和供需双方,以期为产业发展注入新的活力。

欢迎做客【镁客·请讲】,栏目合作请发送邮件至:post@im2maker.com

相关文章:

  • Java读取Excel并解析文本(并格式化输出)
  • mysql五:索引原理与慢查询优化
  • Cookie和Seesion
  • 【347天】每日项目总结系列085(2018.01.18)
  • mui---调用图像裁剪android
  • POI导出excel文件样式
  • Kong 发布 Kong Brain 和 Kong Immunity,可进行智能自动化和适应性监控
  • 开源项目支持CocoaPods
  • mongodb 添加用户报错TypeError:db.addUser is not a function (mongodb3.4.1)
  • now code——小a和黄金街道(欧拉函数和快速幂模板)
  • 手动配置IP网络
  • 移动商城第十三篇【用户拦截器】
  • HOWTO fix Windows Update error 0x80244019
  • 事件的捕获、冒泡、委托
  • 编写第一个HTML5文件
  • 时间复杂度分析经典问题——最大子序列和
  • 2017-08-04 前端日报
  • 4. 路由到控制器 - Laravel从零开始教程
  • git 常用命令
  • JavaScript服务器推送技术之 WebSocket
  • Vue.js-Day01
  • Windows Containers 大冒险: 容器网络
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 从零开始在ubuntu上搭建node开发环境
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 一份游戏开发学习路线
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #define、const、typedef的差别
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (1)(1.11) SiK Radio v2(一)
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (九十四)函数和二维数组
  • (十三)Flask之特殊装饰器详解
  • (转)http协议
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .apk 成为历史!
  • .equals()到底是什么意思?
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net core使用ef 6
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net(C#)中String.Format如何使用
  • .NET企业级应用架构设计系列之开场白
  • .pop ----remove 删除
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @TableLogic注解说明,以及对增删改查的影响
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [ACM] hdu 1201 18岁生日
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [Android]RecyclerView添加HeaderView出现宽度问题
  • [Contest20180313]灵大会议
  • [docker]docker网络-直接路由模式