什么是嵌入式操作系统?

Gabriel Valcázar Gabriel Valcázar, 嵌入式软件工程师, Digi International
2021年4月30日
一个 嵌入式操作系统 基本上是嵌入式计算机系统的大脑,它定义了一个产品的功能。它被设计和优化,以提高控制硬件资源的效率,驱动图形处理,并减少设备执行任务的响应时间。在这篇文章中,我们将通过实例来扩展这个嵌入式操作系统的定义,并阐明嵌入式操作系统的来龙去脉,今天几乎所有的智能设备中都可以找到这些操作系统。
 
在今天的数字时代,大多数车辆、电器和手持设备需要嵌入式操作系统来控制功能和执行任务的效率。嵌入式操作系统不是单独控制系统的每个部分,而是管理所有可编程以及固定的硬件操作。尽管这些系统今天已经在电子世界中掀起了风暴,但人们仍然不知道它们能带来什么。让我们深入讨论一下嵌入式计算机操作系统。

代表嵌入式操作系统的图像
 

嵌入式操作系统。基础知识

嵌入式操作系统是一个嵌入式系统的小规模计算机,具有有限的功能。它被设计用来执行一个电子终端产品的某项功能或一组功能。与需要Windows、Linux或Mac OS等操作系统来运行基本应用程序的台式PC相似,嵌入式系统也需要一个操作系统来促进和加快其功能。
 
例如,所有手机都有一个集成的嵌入式操作系统软件,如安卓或iOS,在手机开机时启动。如果没有操作系统,在每一个具有不同硬件的手机中实施一个应用程序,对开发者来说是一场噩梦。它允许他们弥合所有的差距,专门为操作系统建立一个统一的应用程序。嵌入式操作系统在某些情况下也被称为实时操作系统(RTOS),我们将在另一节讨论。
 
以下是嵌入式操作系统的一些常见特征。
  • 高效动力
  • 更少的存储能力 
  • 较小的处理能力
  • 快速和轻便
  • I/O设备的灵活性
  • 实时操作
  • 根据预期的使用情况进行定制
纳入嵌入式操作系统的软件对产品的功能至关重要。在Digi,我们几乎所有的产品都使用嵌入式操作系统来提供其功能和性能。 就我们的产品而言 Digi SOMs在开发过程中,一个完整的嵌入式操作系统被开发人员使用,在释放SOM硬件的复杂功能和提供易于使用、可用于生产的代码库和开发工具方面增加了巨大的好处,以便在最短的时间内创建面向未来的、高度可扩展的产品。

嵌入式软件开发人员
 

嵌入式系统是如何工作的?

人们经常想知道嵌入式系统是如何工作的,因为人们对复杂的产品技术有很高的要求,因此,对嵌入式软件开发人员来说,有很好的机会。与加载或执行应用程序的台式电脑不同,嵌入式操作系统的配置目的较少,通常在一个设备上处理单一的应用程序。

虽然操作系统的功能范围是有限的,但它必须是可靠的,即使在尺寸、处理能力和内存的限制下也能无缝运行,因为该具体应用对最终产品的功能至关重要。用于商业和工业应用的最佳嵌入式操作系统的一些例子是嵌入式Linux和安卓、风河VxWorks、Green Hills Integrity和QNX。
 
你是否想知道嵌入式操作系统到底能不能被更新?是的,如果产品被设计成具有闪存,并且其实现的芯片是可闪存的,那么嵌入式操作系统就可以被更新。例如,你的智能电视可能包含一个嵌入式操作系统和大量的功能以及复杂性。功能越多,必须管理的错误和安全漏洞就越多。这类设备的操作系统被设计成可以更新,以消除错误或增加新功能,并提供最佳的客户体验。 
 

嵌入式与非嵌入式系统

医学成像设备
一个 嵌入式操作系统 运行在被纳入终端产品的设备上,往往有有限的应用。一些可能包括嵌入式操作系统的设备有:。
  • 输液泵
  • 工业烤箱
  • 电动汽车 
  • 汽车信息娱乐系统
  • 太阳能电池板
  • 太阳能电池板控制器
妇女在笔记本电脑上工作
A 非嵌入式操作系统 或 通用的操作系统 (GPOS)在一个独立的设备上运行,该设备 最终产品。这些操作系统通常更大,更可定制,并提供更广泛的应用选择。非嵌入式设备的例子有
  • 台式电脑
  • 笔记本电脑
  • 专属服务器
因此,为了理解嵌入式操作系统与桌面操作系统,你可以说,像输液泵这样的产品包含一台运行嵌入式操作系统的计算机来运作,而非嵌入式操作系统则运行在用于执行自动化工作的计算机上,如写作或图形设计。

没有嵌入式系统的老式洗衣机产品

没有操作系统的应用实例包括100%的机械产品或包括简单的电子器件。下面是几个没有操作系统的设备的例子。
  • 旧家用电器
  • 旧车辆
  • 对讲机/无线电通信设备
总结一下。
  • 嵌入式设备是嵌入到终端产品中的计算机。如果计算机的功能很复杂,它可能需要一个操作系统,但不一定。
  • 非嵌入式设备是一个独立工作的计算机,是最终产品本身。
  • 没有嵌入式设备的产品根本就没有纳入计算机。

嵌入式操作系统的历史

阿波罗制导计算机 - 1966年
虽然Linux和安卓是相对较新的产品,但嵌入式操作系统的概念可以追溯到20世纪60年代,当时推出了 阿波罗制导计算机.AGC "被安装在每个 阿波罗指挥舱 (CM)和 阿波罗登月舱 (LM)。AGC为航天器的引导、导航和控制提供了计算和电子接口"。"(来源:《中国日报》)。 维基百科)

由于微控制器技术的进步,从8位到16位,再到后来的32位,嵌入式计算系统已经走过了漫长的道路,而且演变似乎远未结束。由于嵌入式计算机系统越来越复杂,操作系统成为有效管理嵌入式软件的关键。
 
今天,有无数不同的嵌入式操作系统可供选择。嵌入式操作系统的设计和实施的发展是由控制软件应用的需要所驱动的,这些软件应用利用了迅速发展的硬件。
 

嵌入式操作系统。常见用途

嵌入式操作系统通常被用于许多不同的领域,例如:多媒体播放器、飞机导航系统、汽车导航系统和医疗设备。下面,我们概述了这项技术如何简化这些例子的操作。
 

共同使用 - 停车计量

为了管理用户的输入,并跟踪时间和收费,智能城市停车表需要一个嵌入式操作系统。这些设备有一系列内置的功能,这取决于设计。例如,有些使用传感器来检测车辆的到达和离开,而有些则需要司机输入停车位或车辆牌照。一个用户界面为司机提供选择,例如,可以选择设置预计返回时间并支付相应的费用。

停车计时器
 

共同使用 - 飞机的导航系统

飞机的导航系统是实时操作系统的一个很好的例子。一架飞机的主计算机,与大多数控制系统如发动机、机翼、安全和压力控制相互连接。所以,它是专门为在飞机内运行而设计的,帮助执行起飞、降落和紧急情况等操作。

飞机导航系统
 

共同使用 - 汽车导航系统

汽车导航系统是一个小型计算机,包括一个触摸屏,允许司机通过各种菜单,如GPS和路线映射,音频播放,收音机,免提通话,以及油位和轮胎压力的监测系统。在 联网车辆 这些系统甚至更加复杂,包括车辆到交叉口和 车辆到任何东西或 "V2X" 通信系统。计算机被设计用来执行所有这些任务,并提高驾驶体验。

汽车导航系统
 

共同使用 - 医疗设备 

医学 集成了嵌入式操作系统的设备可以自动监测生物常数,管理药物,并在生物常数高于或低于阈值时向工作人员发出警报。因此,医疗设备可以帮助医生治疗病人,监测他们的健康,并拯救他们的生命。

带有图形显示的医疗设备
 

实时操作系统(RTOS

实时操作系统(RTOS)是一个典型的具有减少功能的操作系统,它通过在指定的时间限制内提供处理后的输出来支持多线程应用,并拥有确定性的行为。由于这些应用程序是时间关键型的,它们应该在预期的时间内准确执行,以维持整个系统的运作。 
 
我们车辆中的安全气囊是这个概念的最好例子。当一辆超速行驶的汽车发生事故时,安全气囊必须在碰撞发生后的10-20毫秒内展开。即使是几毫秒的延迟也可能导致死亡。所以,没有任何误差,应该立即执行任务。 

气囊系统其他一些常见的实时操作系统的例子是。
  • 在线交易系统
  • 医疗重症监护系统
  • 防抱死制动系统
  • 交通管制系统
  • 牲畜价格报价系统
  • 航空公司控制系统
实时操作系统提供细致的调度和资源管理,以满足应用程序的需求,并确保对时间敏感的任务满足其最后期限。实时操作系统进一步有两种类型--软实时操作和硬实时操作系统。主要区别在于,硬实时操作系统必须在设定的时间内可靠地执行指定的功能,如X毫秒。
 
以下是实时操作系统的一些特点。
  • 事件驱动,使系统能够根据任务的优先次序进行切换
  • 基于优先级的调度,将分析性处理与非关键性处理分开 
  • 基于任务的模块化开发,促进了基于任务的模块化测试

实时操作系统与嵌入式操作系统 

实时操作系统可以被认为是嵌入式操作系统的一个子集。因此,我们可以说,所有的RTOS都是嵌入式操作系统。然而,所有的嵌入式操作系统都不是实时操作系统。让我们来谈谈嵌入式操作系统的实时特性。 
 
实时操作系统和嵌入式操作系统的主要区别在于系统的时间关键性。一个非关键性系统的例子是机上娱乐系统,每个乘客都可以在飞行过程中进入该系统观看电影、玩游戏或追看电视节目。一旦乘客打开系统,电影或节目的播放就没有特定的时间限制。 
 
另一方面,负责起飞、降落和许多其他过程的飞机导航系统是有时间要求的。它需要一个实时因素来快速执行任务。在这样的系统中,意外的延迟将永远是一个选项。在为嵌入式计算选择实时操作系统时,评估这类要求是至关重要的。
 

寻找嵌入式操作系统解决方案?


虽然嵌入式操作系统和通用操作系统有一些相似之处,但它们是非常不同的,特别是在涉及到它们的设计和目的时。最大的启示是,嵌入式操作系统被设计为在特定的硬件上运行,以满足终端产品的特定需求;而传统的通用操作系统则被设计为更具有通用性。而寻找系统,如 Digi ConnectCore®产品系列在这种情况下,嵌入式硬件和软件的高度集成将提供最理想的开发环境。
Digi开发板和软件

同样重要的是要注意,对于任何时间关键型、任务关键型或图形密集型的应用,如联网车辆和医疗设备系统,你不仅需要一个实时操作系统,还需要一个 超快的处理器 能够提供所需的性能、安全性和可靠性。
 
现在你知道了嵌入式操作系统的基本知识,你已经准备好深入研究一个真实的例子。Digi Embedded产品支持基于Yocto Project(基于Linux)或嵌入式Android的嵌入式操作系统。我们为我们的开发工具包提供预置的图像;同时提供文档、库、示例和Digi TrustFence安全框架,以帮助你以简单和安全的方式为你的特定嵌入式解决方案定制操作系统。
 
欲了解更多信息,请参见我们的 系统模块和开发套件阵容,并访问我们的 嵌入式文件门户.或 联系我们 了解Digi无线设计服务如何帮助规划和开发您的下一个产品并快速进入市场。
认识Digi ConnectCore SOM系列
了解Digi ConnectCore 8X、8M Nano和8M Mini的情况

相关内容

Digi推出ConnectCore 8M Mini Digi推出ConnectCore 8M Mini 基于恩智浦®i.MX 8M Mini应用处理器,集成的Digi ConnectCore 8M Mini SOM平台帮助OEM厂商减少... 阅读博客 嵌入式系统的10个真实案例 嵌入式系统的10个真实案例 嵌入式系统是许多不同产品、机器和智能操作的核心,跨越每个行业和... 阅读博客 绿色技术 绿色技术 从风能、太阳能、水力发电和电动汽车到环境监测,绿色技术出现在今天旨在建立一个更可持续发展的世界的广泛举措中。 查看应用 无论你的设计有多好,如果它不安全,你就有可能面临风险 无论你的设计有多好,如果它不安全,你就有可能面临风险 嵌入式设计。从第一天起就在安全方面进行建设

开发人员在构建安全产品时面临的挑战...
网络研讨会录音
使用Digi ConnectCore 智能IOmux工具来设计ConnectCore SOM。 使用Digi ConnectCore 智能IOmux工具来设计ConnectCore SOM。 Digi International提供一系列用于开发产品设计的嵌入式系统模块。为了帮助简化任务... 观看视频 利用Digi ConnectCore 基于i.MX的SOM简化并加速你的开发。 利用Digi ConnectCore 基于i.MX的SOM简化并加速你的开发。 开发一个IoT 的产品是具有挑战性的,因此,很大比例的嵌入式设计项目都是以失败告终。 网络研讨会录音 如何以正确的方式应对嵌入式设计的挑战 如何以正确的方式应对嵌入式设计的挑战 嵌入式开发的五大挑战是什么,以及如何才能跨越这些障碍,创造一个成功的嵌入式开发。 网络研讨会录音 嵌入式计算。易于制造和低拥有成本的设计 嵌入式计算。易于制造和低拥有成本的设计 嵌入式系统模块(SOM)市场已经增长,为从零售业显示器到其他领域的应用提供了多种选择。 阅读博客 机器学习和机器视觉通过实时边缘处理更好地工作 机器学习和机器视觉通过实时边缘处理更好地工作 当今最有前途的互补技术是机器学习(ML)和机器视觉(MV)。机器学习... 阅读博客 嵌入式Linux上的开源许可和应用:一个实用的观点 嵌入式Linux上的开源许可和应用:一个实用的观点 由于开放源代码许可证的影响,专有软件的开发者通常对嵌入式Linux平台心存疑虑... 阅读博客 IoT 开发套件 IoT 开发套件 你需要建立一个开发环境来测试无线应用程序的原型和测试功能的一切 开始工作