0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择嵌入式系统操作系统:操作系统特征

eeDesigner 来源:物联网评论 作者:物联网评论 2022-09-07 11:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式系统开发人员目前拥有广泛的操作系统。当然,最直接的操作系统就是没有操作系统!但是,当今的许多系统都是复杂的连接系统,可能需要操作系统。在需要时,开发人员通常会希望使用实时操作系统(RTOS)或Linux来帮助他们管理复杂性。不幸的是,如何在裸机,RTOS或Linux之间进行选择并不总是明确的。每个选项都有其优点和缺点。

这篇文章将探讨选择操作系统时应考虑的系统特征。然后在下一篇文章中,我们将介绍使用每个操作系统最有意义的时间。

产品的生命周期成本

嵌入式系统选择操作系统首先要了解产品的生命周期成本和要求。需要在物料清单 (BOM) 成本和产品的软件维护成本之间进行权衡。例如,使用Linux的嵌入式系统发现利用开源软件并找到可以编写系统软件的开发人员更容易。但是,基于 Linux 的系统比基于微控制器的系统具有更复杂的硬件要求,并且可能具有更高的 BOM 成本。基于微控制器的系统可能成本较低,但能够成功设计和维护这些系统的开发人员也较少。

设计人员需要权衡硬件和软件成本,以确定他们的产品使用可以运行Linux的硬件是否有意义,或者更便宜,CPU密集型的解决方案是否更适合。

要考虑的物理特性

说到硬件功能和要求,在选择嵌入式操作系统时,还必须检查硬件选择的物理特性。应考虑微处理器或微控制器的物理因素包括:

外设功能集

中央处理器时钟速度

可用的闪存

可用内存

硬件对系统施加的物理约束可能会立即限制您可以使用的选项。例如,要运行嵌入式Linux的风格,通常需要处理器包含内存管理单元(MMU)。不幸的是,微控制器没有MMU。因此,要运行Linux,设计人员至少需要有一个Cortex-A范围内的应用处理器,而不是Cortex-M系列中的微控制器(尽管事情变化很快,并且有人可能拥有具有MMU和合理时钟速率的微控制器)。

要运行嵌入式Linux,硬件还必须具有至少8 GB的存储空间,16 GB的RAM和8 - 16 MB的内部闪存。像Linux这样的内核可能还需要至少500 MHz的处理器。这些远高于运行RTOS所需的水平,RTOS至少需要4 kB的RAM,64 kB的闪存和24 MHz的CPU。

实时性能

我从经验中知道,探索裸机、RTOS和基于Linux的系统之间的实时性能特征是一个烫手山芋。专注于基于微控制器的实时系统的工程师通常会告诉您,您无法从Linux系统获得实际的实时性能。Linux工程师会告诉你这不是真的;有实时补丁,它提供了实际的实时行为。从那里开始,争论通常会变得激烈。

无论您站在栅栏的哪一边,都必须查看实时要求并在选择操作系统时使用它们。评估系统需要的确定性,并根据这些需求评估操作系统。我见过Linux实时版本,效果很好;其他没有的。没有一个普遍正确的答案,只有一个适合您的应用程序的答案。

软件库集成

使用裸机、RTOS 或 Linux 之间的显著区别之一是开发人员可用的软件库的可用性和集成级别。在裸机领域,您只能靠自己。您要么从头开始编写软件,要么自己集成第三方库。另一方面,RTOS将附带一套已经与RTOS集成的库。例如,人们可能会找到循环缓冲区,内存管理工具,文件系统等。更多的库可用并集成,但可能仍然需要自己做一些工作。

当你看Linux时,感觉开发人员拥有几乎无限的库供应,这些库可用并且已经与系统集成。嵌入式 Linux 最吸引人和最具附加值的特征是软件库的可用性和集成性。开发人员拥有整个操作系统。这很强大,但也有潜在的危险。

不要忘记安全性

如今,许多设计人员正在构建必须具有安全解决方案的互联系统。操作系统在安全解决方案中起着重要作用。例如,如果在 Linux 内核使用的标准库中发现漏洞,则在修补之前,每个 Linux 设备都会有该漏洞。裸机或基于RTOS的系统很有可能不会有同样的漏洞。特定操作系统比其他人更受黑客攻击,因为他们可以使用工具集来破解这些设备。例如,我把使用RTOS的嵌入式系统直接放在互联网上,没有受到保护,而且它们几周都没有受到损害。我曾经在互联网上放了一个基于Linux的系统,它在48小时内被黑客入侵并成为中国僵尸网络的一部分。在Linux系统防御中,我相信默认密码仍然被设置,但它表明,如果你不花时间正确配置你的操作系统,它不需要太多的时间来破解它。

结论

开发人员在选择操作系统时应考虑许多特征。第一个特征与建筑产品的成本和业务方面更相关。但是,更重要的属性,如可用库,安全性,可维护性等,也起着至关重要的作用。那么您应该使用哪种操作系统以及在什么情况下使用?在下一篇文章中,我们将探讨这个问题,并提供有关在何处使用裸机、RTOS 和 Linux 的指南。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3841

    浏览量

    134058
  • 操作系统
    +关注

    关注

    37

    文章

    7453

    浏览量

    129726
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于开源欧拉的宇航级嵌入式星载操作系统成功在轨运行

    近日,基于开源欧拉的宇航级嵌入式操作系统搭载某星座实验卫星成功发射并在轨稳定工作。这是基于开源欧拉的嵌入式操作系统首次在商业卫星载荷领域实现实际在轨运行,不仅标志着基于开源欧拉的星载
    的头像 发表于 05-19 09:28 442次阅读

    操作系统体系结构

    操作系统的体系结构是一个开放的问题。正如上文所述,操作系统在核心态为应用程序提供公共的服务,那么操作系统在核心态应该提供什么服务、怎样提供服务?有关这个问题的回答形成了两种主要的体系结构:大内核和微
    发表于 01-15 08:19

    操作系统的发展及分类

    ,就形成了多道批处理操作系统。该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。   优点是资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;
    发表于 01-15 08:00

    操作系统运行机制

    操作系统在具体实现上划分了用户态(目态)和核心态(管态),以严格区分两类程序。   在软件工程思想和结构程序设计方法的影响下诞生的现代操作系统,几乎都是层次的结构。操作系统的各项
    发表于 01-15 07:12

    什么是嵌入式操作系统

    要理解嵌入式操作系统(Embedded Operating System,简称 RTOS/EOS),我们可以从本质定义→核心区别→实际作用→典型特征嵌入式开发场景适配,五个维度来拆解
    发表于 12-09 10:33

    龙蜥操作系统装机量突破1000万

    11月17日,以“生态共融·智驱未来”为主题的2025龙蜥操作系统大会(OpenAnolis Conference)在北京成功举办。千余位全球技术大咖、业界精英和行业开发者齐聚一堂,深入探讨AI时代下操作系统产业发展的新趋势、新挑战与新路径,共话龙蜥社区引领
    的头像 发表于 11-20 11:40 1020次阅读

    EV10AS180A模数转换器支持哪些操作系统

    的一部分,与嵌入式Linux系统配合使用;而在雷达系统中,它可能与其他硬件模块一起,在RTOS环境下运行。开发环境与工具支持:虽然EV10AS180A本身不直接支持操作系统,但Tele
    发表于 11-18 09:18

    单片机的操作系统

    单片机操作系统主要分为实时操作系统(RTOS)和嵌入式操作系统两类,以下是常见选择: 实时操作系统
    发表于 11-14 06:18

    嵌入式实时操作系统的特点

    实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统的实时操作系统
    发表于 11-13 06:30

    嵌入式实时操作系统及应用开发(第三版)罗蕾主编光盘镜像百度云链接

    嵌入式实时操作系统及应用开发(第三版)罗蕾主编光盘镜像百度云链接通过网盘分享的文件:嵌入式系统配套光盘.iso链接: https://pan.baidu.com/s/1R3IprlRn
    发表于 11-12 16:20

    RusT-Thread:基于Rust面向资源受限嵌入式设备的操作系统的实践 | 技术集结

    摘要随着物联网和嵌入式系统的发展,实时操作系统(RTOS)的安全性和性能需求日益提高。传统基于C语言的RTOS在内存安全和并发控制方面存在局限,容易导致缓冲区溢出、数据竞争等问题。本项目以
    的头像 发表于 11-07 17:37 7155次阅读
    RusT-Thread:基于Rust面向资源受限<b class='flag-5'>嵌入式</b>设备的<b class='flag-5'>操作系统</b>的实践 | 技术集结

    Jtti Linux操作系统最常见的10大优势

    Linux操作系统的十大优势 Linux操作系统作为一种开源、自由的系统,已经广泛应用于个人计算机、服务器、嵌入式设备等多个领域。它的多样化特性和强大的功能使其成为现代计算环境中不可或
    的头像 发表于 11-06 15:32 509次阅读

    【好书推荐】RT-Thread第22本相关书籍!《嵌入式实时操作系统开发实践》| 技术集结

    随着物联网、智能家居与工业控制等领域的快速发展,嵌入式实时操作系统的应用愈发广泛。RT-Thread作为国产开源RTOS的代表,凭借其出色的实时性、组件化设计和强大的生态体系,已成为众多工程师和高校
    的头像 发表于 10-16 18:46 997次阅读
    【好书推荐】RT-Thread第22本相关书籍!《<b class='flag-5'>嵌入式</b>实时<b class='flag-5'>操作系统</b>开发实践》| 技术集结

    如何选择合适的实时操作系统

    选择合适的实时操作系统(RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
    的头像 发表于 09-09 14:47 1353次阅读

    树莓派操作系统:版本、特性及设置完整指南!

    桌面环境的版本和轻量级、仅用于命令行的最小安装版本。该操作系统设计高效且资源友好,是树莓派设备的理想选择。树莓派操作系统的优势√轻量高效该操作系统设计精简,占用资源
    的头像 发表于 07-28 18:26 2026次阅读
    树莓派<b class='flag-5'>操作系统</b>:版本、特性及设置完整指南!