事实上采用各种形式OS的人都有。 操作系统分类: “裸奔”(根本不用OS) ########### 内部自主开发的OS ######## 开源OS ########## 商业OS ######################## 有大约30%左右的应用是根本不用OS的(包括小型调度核、任务切换程序),这种现象通常分布在各种公司大小、年龄层、行业、经验级别之中。尤其在消费类电子、汽车电子、工业控制等行业不用OS的比较多。OS使用情况与公司大小和个人经验有关,大公司比小公司更愿意使用OS,越有经验的人越愿意使用OS,16/32位机的开发者比8位机开发者更愿意使用OS。 不使用OS的理由归纳如下: 根本不需要(比如:微波炉、自动调温器就显然不需要运行OS) 太消耗CPU和RAM资源 OS太贵 OS用起来太复杂太难用 除了根本不需要外,“裸奔”的其他理由目前看来似乎不那么充分了。有迹象表明,“裸奔”程序的开发者想学习OS或者在下一个项目里应用OS的愿望有不断上升趋势。当然,“裸奔”程序采用状态机设计也可以实现协同式多任务,但是开发效率较低,适合于资源受限情况。 有一部分人使用内部自主开发的OS,完全拥有其版权。好处是保密性强,特定应用效率高,完全自主知识产权等等。坏处是开发成本高,无法分摊成本(自己开发自己用),隐藏BUG多(自己不容易检查出自己写的程序的错误),不通用等等。现在的趋势是逐渐用商业OS替代自行开发。2003年的时候经常听到有网友打算设计自己的OS,或者使用内部自主开发的系统,现在这样的声音越来越少听到了。现在还能看到一些推销自己写的小内核的人,还有一些开源小型OS,不过这些产品往往乏人问津,究其原因,可能就是自主开发OS已经没落了,毕竟现在的OS很多,商业OS不仅能提供成熟度高的产品,还具有很多非技术优势。最初的嵌入式设备是单一用途的,它们拥有各自独特的显示方式和用户界面;而今天它们必须运行很多相同的应用程序,它们需要采用相同的方式实现互连或是在某些情况下增强互连性。因此使用通用RTOS会使建立嵌入式应用变得更加容易。 如果开发者试图通过内部开发建立某些嵌入式系统,就不得不建立从固件到应用程序的完整的软件栈(software stack)。垂直集成在给开发者带来很大的控制能力的同时,也需要其在开发和维护上进行大量的投入。在经历了全球性的经济危机之后,面市时间(time-to-market)意味着一切,追求附加值成为电子业重要的追求。因此,如果你是一个工程经理,考虑到你手中的资源,你是宁愿投资去创建一个自主产权的操作系统软件平台,还是去开发那些可以给你的应用带来差异化的技术呢?我相信你会选择后者,因为开发者通常希望使他们的应用变得与众不同。这就使得内部开发操作系统整合自主产权内核的方法逐渐被淘汰。 有20%的人使用开源OS,40%使用商业RTOS。未来项目希望使用开源OS的人数呈上升趋势,希望“裸奔”的人下降最快,其次是内部自主开发,再次是商业OS,都呈下降趋势。 有趣的是,使用OS类型的倾向(开源/商业)和公司大小有关: 小公司喜欢用开源OS,如:Linux。究其原因,小公司财力有限,目光短浅,买不起/不想买商业OS,免费是最大的吸引力。可是价格只是冰山一角,水面以下的部分才是成本大头,维护Linux需要大量人力,有经验的开发人员薪酬不低。当然这对小公司而言并不是问题,主要原因在于,小公司对品质要求不高,主要以价格取胜,即使出现质量问题,因其价格便宜,也不会造成致命影响,况且船小好掉头,大不了关门了事,换个名字再开一家。因此小公司一般只有1-2个“懂”Linux的人在维护。 中型公司主要采用商业RTOS,因为在行业内已经有了一些品牌形象,财力充实,有一定眼光,重视法律规范(小公司也没人有兴趣与其打官司),比较在意产品质量。开源OS虽然免费,但成本冰山水面以下的部分对中型公司来说一般不能回避,万一出了产品质量问题,小公司可以跑掉,但中型公司跑得了和尚跑不了庙,因此购买商业OS是其主要选择。另外,其所购买的产品方案中可能已经包括了某个商业OS,所以不得不使用。 大型公司同时使用商业OS和开源OS,因其财力雄厚,开发成本都可以承受。使用开源OS可以增加议价的筹码和丰富产品差异化。 《ecos增值包》就是基于开源操作系统ecos的商业化软件包。它比内部自主开发的OS具有更好的开放性、通用性,功能强大、BUG少,代码质量高,特别适合于中小公司和个人使用。 对中型公司而言,它可以替代某些商业OS,如某电力企业用它替代VxWorks以降低成本。 对小型公司来说,《ecos增值包》价廉物美,既降低成本又保证性能质量,完成相同功能,代码体积只有Linux的十分之一。 对个人,可以用于基础培训,设计思路验证,产品开发。比ucos功能强,比Linux更易于学习。 |