首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式OS的核心是任务优先、安全与可靠

嵌入式OS的核心是任务优先、安全与可靠

本帖最后由 yuchengze 于 2016-12-27 15:23 编辑

一些爱琢磨的软件人员会心里痒痒,想自己做一个操作系统(OS);微软等软件巨头为何很少涉足嵌入式操作系统?嵌入式操作系统的真谛是什么?近日,风河公司的工作人员向电子产品世界编辑讲了一些鲜为人知的故事。
  嵌入式OS贵在可靠
  几年前,美国某大型零售公司的老板过去用别家软件,临近圣诞节大促销,系统一旦坏了承受不起。风河销售人员把他带到风河最高长官那里,“我想买你的软件,但你得让我放心。”风河最高长官说,“我把我的私人电话给你,你任何时候可以打给我。”这样这家公司变成了风河的客户。

  几年后,这家零售商又来风河签新合同,恰巧碰到了最高长官。风河长官得知情况后,说:“顺便告诉你,从明天开始,你刚刚买的这款产品就免费了。但是,免费后,圣诞节的时候不准给我打电话!”那个零售商想了想,还是付了钱。
  客户明明知道将要宣布要免费,花钱干什么?当企业做大了以后,其实最难的是风险管理,是控制那些不确定的因素,而不是说你怎么把成本降下来。具体地,商业决策的时候你要考虑成本,这是基本的要素,但是随着你的业务规模扩大,你会发现比成本、收入更重要的是风险,风险你是承受不起的。所以那位零售商愿意在降低风险上投资。
  其实代码就是代码,哪个代码不能跑?可是你要保证它不出问题很难。因为能做和安全可靠是两码事。你要经过反复的实验,十几年的时间验证。
  一个极端保守的例子,据说NASA(美国航空航天局)某个部门的实验室里,有一帮人的工作就是清理代码,诸如火箭上的代码,大概十几万行,并不多,那个软件都已经用了几十年,他们这个团队每天还是在清理,看看里面有什么bug。他们虽然在做枯燥无味的工作,这个代码不知看了多少遍,甚至已经把这些代码背得滚瓜烂熟了,但是还是要查,如果能发现一个bug可能会是救命的——宇航员在太空涉及到生命安全。
  风河的竞争对手是谁?
  其实做嵌入式操作系统的厂商不多。风河的竞争对手其实主要是In-House(公司内部)操作系统。因为嵌入操作系统本来不大,非常容易给人那种冲动,我自己做一个!尤其是做嵌入式软件的人员往往都有能力往底下沉。风河现在很重的任务之一是去说服这些企业的决策层,不要让开发人员去做操作系统,开发人员的时间可以投入到应用方面,让应用做得更好。这就像不需要重新发明一个轮子一样。
  按风河的逻辑,操作系统没有那么重要,它就是一个劳务,不要以为操作系统没有自己做就不行。
  另外,操作系统如果开始没有做完善,尽管产品在很短时间就出来了,但到一定阶段,企业会面临两难的选择。例如你选了开源操作系统,有一天你发现不行,因为再继续用这个技术的话,由于根扎得不够牢和深,很难继续长大了。
  为何做商用嵌入式OS的厂商寥寥?
  既然很多软件人员都有能力做操作系统,按理说,很多企业也应该像风河一样能提供操作系统这种服务?
  的确,操作系统的门槛不高,但反而不容易形成巨头。
  那么,是否是因为其他公司的市场能力没风河那么强?
  其实,关键的考量是是否值得去做这么大投入。例如微软也做自己的嵌入式操作系统,但是目前没做起来。微软的市场能力不强吗?这恐怕还是一个取舍的问题。
  首先要明确我要做什么样的系统?如果要做宇宙飞船、飞机、坦克这种非常关键的应用,要用的设计思路与普通计算是不一样的。微软并非没有这个能力,但是假设微软是一头大象,现在去抓一只小蚂蚁,一是抓不住,另外抓了也不够吃。所以这就刚好给风河这样规模的公司一个机会。
  从技术路线的决策方面,安全性、可靠性和性能这三个方面是三个不同的方向,但是归根到底是解决一件事——隔离性的问题。即在做软件设计的时候,这一部分很专注的,我就解决这个问题,我也不想去解决别的模块的问题;同时我也绝不允许别的模块想伸到我这个模块里面。从CPU的分配,到存储空间的分配,都是非常严格的限制,这样严格的限制就比较安全。但是你牺牲了交叉时的通信效率,就好比你一个小区的门卫特别严格的时候,小区的安全性提高了,你在里面也会很安全,但是你跟外界的沟通、交流就变差了,因为进门很麻烦。
返回列表