嵌入式开源软件的十大弊端

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/79493324

俗话说得好,“得来全不费功夫”,免费当然是个好事情了。既然是免费的, 开源的实时操作系统(RTOS)看起来是个不错的选择。 但是对于嵌入式设备和物联网设备的开发者来说, 有时并不愿轻易涉足, 比如家居自动化和可穿戴设备, 医疗仪器和工业控制系统。 在决定之前, 需要了解使用开放源码的真正成本和弊端。

1.可靠性

如果 RTOS 失败或者行为出人意料, 会导致产品的异常。 即使一个 RTOS 故障可能不会导致异常或挂掉, 也可能会导致顾客不满, 销售不佳甚至产品召回。 一个安全认证的 RTOS 提供了信心, 由于经过彻底的审查, 测试和验证, 一般能够满足预期。

2.安全性 

开放源码软件(OSS)是免费提供的, 这意味着任何人都可以设计出破坏它的方法。 如果被用于一个成功的商业产品, 黑客的动机可能会增强。 开放源码软件组件可能包含安全漏洞, 这些漏洞可能被别有用心的人加以利用。

3.独立性 

一些 OSS 的RTOS可能被一个商业组织修改和"屏蔽"。 类似独立性的丧失在任何与管理组织不兼容的环境中可能是一下担忧。 例如, ARM Mbed OS 仅适用于 ARM 处理器, 是 ARM 的有效锁定。 这限制了未来在不同微处理器上使用的选项。

4.性能

服务的速度会影响产品的性能和可靠性。 规模也很重要,较小的代码大小可以使用成本较低的微处理器和较少的内存, 并为应用程序代码留下了更多的空间。 任何 RTOS 的性能都可以用"线程度量"基准套件来衡量和量化。

5.先进的功能

开源软件的 RTOS 执行基本的服务, 使嵌入式或物联网设备能够正常工作。 商业 RTOS通常提供额外的增值特性, 使应用程序运行更快, 并使开发和调试更容易。 这会导致一个更有效率、更高性能的嵌入式 / 物联网产品, 能够更快地进入市场, 并在其整个生命周期中更加成功。

6.中间件 

商业 RTOS通常包括嵌入式文件系统、 tcp / ip 网络堆栈、 USB 主机 / 设备支持、图形界面框架和 IoT 云服务接口。 这些中间件组件可能可以与一个开源软件的 RTOS 一起使用, 但是通常不是由一个单一的组织集成或支持的。 最后, 产品开发人员需要弥合"集成差距", 可能导致增加项目时间、成本和错误风险。

7.技术支撑 

开放源码软件支持社区可能会有所帮助ーー或者不能。 一个商业的 RTOS 包括对商业产品的可靠、响应性支持。 商业的 RTOS 提供商还保证 API 中的完全向后兼容, 许可条款以合同形式确定, 不能单方面改变,开放源码软件一般不是这样的。

8.法律考量 

在商业产品中使用开放源码软件(OSS RTOS)的三个常见法律问题包括:

  • 使用"不明来源软件" , 可能导致知识产权侵权

  • 要求向开放社区披露与开放源码软件相结合或与开放源码软件链接的专有代码

  • 产品开发的最佳实践并不等同于"我们使用它是因为它是免费的"

9.成本 

开源软件的使用为内部培训、支持和整合带来了额外的成本。 其他成本涉及法律问题, 包括侵犯知识产权。 这些成本可能是巨大的, 忽视它,可能对一个商业企业来说是灾难性的。

10.商业活力 

商业的 RTOS 开发商所面临的竞争压力为继续投资于确定和满足客户需求提供了动力。 这种基本的商业活力有利于 RTOS 用户, 保证他们能够从最好的公司获得最好的产品。

编译自:https://rtos.com/wp-content/uploads/2018/01/ELPitfallsofOpenSource_Software.pdf


目录
相关文章
|
25天前
|
人工智能 搜索推荐 安全
构建未来:移动应用开发与操作系统的创新之旅
随着技术的不断进步,移动应用和操作系统已成为现代社会不可或缺的组成部分。本文将深入探讨移动应用开发的新趋势、移动操作系统的关键创新以及这些技术如何塑造我们的互动方式和业务模式。我们将分析跨平台开发工具的兴起、人工智能在移动应用中的角色、操作系统安全性的最新进展,以及5G网络对移动应用性能的影响。通过对未来技术的前瞻性思考,我们还将讨论开发者和企业在保持竞争力时必须考虑的策略。
12 2
|
29天前
|
开发工具 vr&ar Android开发
移动应用开发的未来:跨平台工具的崛起与移动操作系统的演变
【2月更文挑战第30天】 随着移动互联网的不断演进,移动应用开发已经从单一平台的专属开发模式,转向了跨平台、高效率的开发策略。本文将深入探讨跨平台移动应用开发工具的兴起,以及它们如何影响移动操作系统的发展。同时,我们还将分析移动操作系统的最新趋势,包括它们如何适应这些开发工具和市场需求的变化。通过对未来技术的前瞻性展望,我们希望为开发者和企业提供有价值的洞察,帮助他们在竞争激烈的移动市场中保持领先。
|
2月前
|
移动开发 前端开发 JavaScript
主流跨平台开发技术对比
【2月更文挑战第1天】
65 3
|
2月前
|
安全 开发工具 开发者
请说明鸿蒙操作系统的生态系统建设和开发者支持措施。
请说明鸿蒙操作系统的生态系统建设和开发者支持措施。
30 5
|
3月前
|
Java 大数据 Android开发
探索Java编程语言的优势和应用领域
Java是一种广泛应用于软件开发领域的高级编程语言。它凭借其强大的功能和丰富的生态系统,在众多应用领域中得到了广泛应用。本文将为您介绍Java的优势以及它在各个领域中的应用。
128 2
|
3月前
|
存储 Linux API
嵌入式综合性开源项目分享
嵌入式综合性开源项目分享
73 0
|
6月前
|
监控 物联网 5G
未来已来:探秘嵌入式5G技术的新时代
未来已来:探秘嵌入式5G技术的新时代
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
大模型的「狂飙时代」,以开源之力推动「新Linux底层操作系统」
大模型的「狂飙时代」,以开源之力推动「新Linux底层操作系统」
151 0
|
设计模式 开发框架 前端开发
十大最主流的PHP框架
十大最主流的PHP框架
212 0
|
API 云计算 开发者
当今软件发展的现状非常适合 Cloud Native 环境
当今软件行业正发生着巨变。自上世纪50年代计算机诞生以来,软件从最初的手工作坊式的交付方式,逐渐演变成为了职业化开发、团队化开发,进而定制了软件件行业的相关规范,形成了软件产业。 今天,无论是大型企业还是个人开发者,都或多或少采用了云的方式来开发、部署应用。
1650 0