嵌入式 Linux 系统的优势与生态
1. 代码可用性
Linux 多数项目的代码可无限制获取。部分许可证(如 BSD 许可证)允许在不提供原始源代码的情况下重新分发二进制文件,或基于修改后的源代码重新分发二进制文件而无需公布修改内容。当出现源代码访问问题时,开源和自由软件社区会寻求用具有类似功能的开源版本替换“有问题”的软件。与传统嵌入式操作系统不同,传统系统的源代码要么不可用,要么需支付巨额费用购买。
代码可用的优势在于:
- 无需外部帮助即可修复代码。
- 能够深入研究代码以了解其运行机制。例如,安全漏洞和性能瓶颈的修复通常在问题公开后很快就能实现。而使用传统嵌入式操作系统时,用户需联系供应商、告知问题并等待修复,多数情况下人们会寻找变通方法而非等待修复,大型项目的管理者甚至会购买代码访问权限以减少外部依赖。
代码可用性还对组件的标准化和商品化有影响。由于可以完全基于可获取源代码的软件构建 Linux 系统,采用标准化的嵌入式软件平台会带来诸多好处。例如,越来越多的手机制造商合作开发通用的参考软件平台,避免为每个新项目重新开发。OpenMoko 项目就是一个基于 Linux 的标准手机平台,使供应商能够专注于其他增值服务而非基础平台。
2. 硬件支持
Linux 具有广泛的硬件支持,能支持不同类型的硬件平台和设备。尽管仍有一些供应商不提供 Linux 驱动程序,但已取得了显著进展且有望进一步改善。由于大量驱动程序由 Linux 社区自行维护,用户可以放心使用硬件组件,无需担心供应商日后停止对该产品线的驱动支持。目前,Linux 可在数十种不同的硬件架构上运行,其他操作系统无法提供如此高的可移植性。给定一个 CP