什么是嵌入式操作系统?

加布里埃尔-巴尔卡萨尔 Gabriel Valcázar,嵌入式软件工程师,Digi International
2021 年 4 月 30 日

一个 嵌入式操作系统 基本上是嵌入式计算机系统的大脑,它定义了产品的功能。它经过设计和优化,可提高硬件资源的控制效率、驱动图形处理并缩短设备执行任务的响应时间。在本文中,我们将举例说明嵌入式操作系统的定义,并阐明嵌入式操作系统的来龙去脉,如今,几乎所有智能设备中都有嵌入式操作系统。
 
在当今的数字化时代,大多数车辆、电器和手持设备都需要嵌入式操作系统来控制功能和高效执行任务。嵌入式操作系统不是对系统的每个部分进行单独控制,而是管理所有可编程和固定的硬件操作。尽管这些系统已在当今电子世界掀起了一场风暴,但人们仍然不了解它们能带来什么。让我们深入探讨嵌入式计算机操作系统。

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

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

嵌入式操作系统是嵌入式系统中功能有限的小型计算机。其设计目的是执行电子终端产品的一项或一系列功能。就像台式电脑需要 Windows、Linux 或 Mac OS 等操作系统来运行基本应用程序一样,嵌入式系统也需要操作系统来促进和加快其功能的实现。

例如,所有手机都集成了安卓或 iOS 等嵌入式操作系统软件,在手机开机时启动。如果没有操作系统,开发人员要在每一部不同硬件的手机上安装应用程序简直就是一场噩梦。嵌入式操作系统让开发人员能够弥合所有差距,专门为操作系统开发统一的应用程序。嵌入式操作系统在某些情况下也被称为实时操作系统(RTOS),我们将在另一节中讨论。

以下是嵌入式操作系统的一些常见特征:

  • 高效节能
  • 更少的存储能力 
  • 更小的处理能力
  • 快速、轻便
  • 输入/输出设备灵活性
  • 实时操作
  • 根据预期用例量身定制

嵌入式操作系统中的软件对产品的功能至关重要。在 Digi,我们几乎所有的产品都使用嵌入式操作系统来提供功能和性能。 就我们的 Digi SOM此外,开发人员使用完整的嵌入式操作系统还能带来巨大的好处,不仅能释放 SOM 硬件的复杂功能,还能提供易于使用、生产就绪的代码库和开发工具,从而在最短的时间内开发出面向未来、高度可扩展的产品。

嵌入式软件开发人员
 

嵌入式系统如何工作?

人们常常想知道嵌入式系统是如何工作的,因为对尖端产品技术的需求很高,因此嵌入式软件开发人员面临着绝佳的机遇。与加载或执行应用程序的台式 PC 不同,嵌入式操作系统的配置目的较少,通常只处理设备上的一个应用程序。

虽然操作系统的功能范围有限,但它必须可靠,即使在尺寸、处理能力和内存方面受到限制,也能无缝运行,因为特定的应用程序对最终产品的功能至关重要。最适合商业和工业应用的嵌入式操作系统包括嵌入式 Linux 和 Android、Wind River VxWorks、Green Hills Integrity 和 QNX。

你是否想知道嵌入式操作系统是否可以更新?是的,如果产品在设计时使用了闪存,并且其执行芯片是可闪存的,那么嵌入式操作系统就可以更新。例如,您的智能电视可能包含嵌入式操作系统和大量复杂的功能。功能越多,必须管理的错误和安全漏洞就越多。此类设备的操作系统旨在通过更新来消除错误或添加新功能,并提供最佳的客户体验。

了解Digi ConnectCore SOM 系列

完全基于 NXP i.MX 应用处理器的嵌入式系统模块--专为工业IoT 应用中的长寿命和可扩展性而设计

下载 PDF

嵌入式系统与非嵌入式系统

医疗成像设备
一个 嵌入式操作系统 嵌入式操作系统运行在集成到最终产品中的设备上,其应用范围往往有限。可能包含嵌入式操作系统的设备有:

  • 输液泵
  • 工业烤箱
  • 电动汽车 
  • 车载信息娱乐系统
  • 太阳能电池板
  • 太阳能电池板控制器

在笔记本电脑上工作的女子
A 非嵌入式操作系统 或 通用操作系统 (GPOS) 可在独立设备上运行,该设备可 最终产品。这些操作系统通常体积更大、可定制性更强,并提供更广泛的应用选择。非嵌入式设备的例子有

  • 台式电脑
  • 笔记本电脑
  • 专用服务器

因此,要理解嵌入式操作系统与桌面操作系统,可以说像输液泵这样的产品包含一台运行嵌入式操作系统的计算机,而非嵌入式操作系统则运行在一台用于执行自动化工作(如写作或平面设计)的计算机上。

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

没有操作系统的应用实例包括 100% 机械或包含简单电子设备的产品。以下是一些无操作系统设备的例子:

  • 旧家用电器
  • 旧车
  • 对讲机/无线电通信设备

总而言之:

  • 嵌入式设备是指嵌入到终端产品中的计算机。如果计算机功能复杂,可能需要操作系统,但不一定。
  • 非嵌入式设备是指独立工作的计算机,是最终产品本身。
  • 没有嵌入式设备的产品根本不包含计算机。

嵌入式操作系统的历史

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

由于微控制器技术从 8 位发展到 16 位,再到后来的 32 位,嵌入式计算系统已经取得了长足的进步,而这一演变似乎远未结束。由于嵌入式计算机系统日益复杂,操作系统成为有效管理嵌入式软件的关键。
 
如今,有无数种不同的嵌入式操作系统可供选择。设计和实施嵌入式操作系统的动力来自于利用快速发展的硬件控制软件应用的需求。
 

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

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

共同用途 - 停车计量

为了管理用户输入、跟踪时间和收费,智能城市停车计时器需要一个嵌入式操作系统。根据设计的不同,这些设备内置了各种功能。例如,有些设备使用传感器检测车辆的到达和离开,有些则要求驾驶员输入停车位或车辆牌照。用户界面为驾驶员提供选择,如设定预计返回时间并支付相应费用。

停车计时器
 

常用 - 飞机导航系统

飞机的导航系统是实时操作系统的绝佳范例。它是飞机的主计算机,与发动机、机翼、安全和压力控制等大部分控制系统相互连接。因此,它专门设计用于在飞机内部运行,帮助执行起飞、着陆和紧急情况等操作。

飞机导航系统
 

常用 - 汽车导航系统

汽车导航系统是一个小型电脑,包括一个触摸屏,驾驶员可以通过触摸屏浏览各种菜单,如 GPS 和路线映射、音频播放、收音机、免提通话以及油量和胎压监控系统。在 联网汽车 这些系统甚至更加复杂,包括车辆对交叉路口和 车对车或 "V2X 通信系统。计算机旨在执行所有这些任务并提升驾驶体验。

汽车导航系统
 

常用 - 医疗设备 

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

带图形显示的医疗设备
 

实时操作系统(RTOS)

实时操作系统(RTOS)是一种典型的具有精简功能的操作系统,它支持多线程应用程序,在规定的时间内提供处理输出,并具有确定性行为。由于这些应用程序对时间要求很高,因此必须在预期时间内准确执行,以维持整个系统的正常运行。 
 
汽车中的安全气囊就是这一概念的最好例证。当超速行驶的汽车发生事故时,安全气囊必须在碰撞后 10-20 毫秒内展开。哪怕是几毫秒的延迟都可能导致死亡。因此,不能有丝毫差错,必须立即执行任务。 

安全气囊系统其他一些常见的 RTOS 例子包括

  • 在线交易系统
  • 医疗重症监护系统
  • 防抱死制动系统
  • 交通控制系统
  • 牲畜报价系统
  • 航空控制系统

实时操作系统提供精细的调度和资源管理,以满足应用程序的需求,确保时间敏感的任务在截止日期前完成。实时操作系统进一步分为两种类型--软实时操作系统和硬实时操作系统。主要区别在于,硬实时操作系统必须在设定的时间(如 X 毫秒)内可靠地执行指定的功能。

以下是实时操作系统的一些特点:

  • 事件驱动,允许系统根据任务的优先级进行切换
  • 基于优先级的调度,将分析处理与非关键处理分开 
  • 基于任务的模块化开发有助于基于任务的模块化测试

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

实时操作系统可被视为嵌入式操作系统的一个子集。因此,我们可以说所有 RTOS 都是嵌入式操作系统。但是,并非所有的嵌入式操作系统都是实时操作系统。让我们来谈谈嵌入式操作系统的实时特性。

实时操作系统和嵌入式操作系统的主要区别在于系统的时间关键性。非关键系统的一个例子是机上娱乐系统,每位乘客都可以在飞行期间使用该系统看电影、玩游戏或追看电视节目。乘客打开系统后,播放电影或节目没有特定的时间限制。

另一方面,飞机的导航系统负责起飞、着陆和许多其他过程,具有时间关键性。它需要一个实时因素来快速执行任务。这样的系统绝对不能出现意外延误。在为嵌入式计算选择实时操作系统时,评估此类要求至关重要。
 

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


虽然嵌入式操作系统和通用操作系统有一些相似之处,但它们在设计和用途方面却大相径庭。最大的区别在于,嵌入式操作系统设计用于在特定硬件上运行,以满足终端产品的特定需求;而传统的 GPOS 则设计得更具通用性。而诸如 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 基于 NXP® 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 开发套件 建立开发环境所需的一切,用于原型开发和测试无线应用程序,以测试功能 开始