常见的嵌入式操作系统详解
扫描二维码
随时随地手机看文章
一、实时嵌入式操作系统
1.1 概述
实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统的实时操作系统。嵌入式系统是一种特殊的计算机系统,通常是用于控制、监测或执行特定任务的系统。
实时嵌入式操作系统与传统的桌面操作系统相比,更注重对实时任务的响应和精确控制。
它们在资源利用、可靠性、可预测性、任务调度和中断处理等方面提供了更加严格的要求和机制。
实时嵌入式操作系统通常具有以下特点:
快速响应:实时嵌入式操作系统能够迅速响应外部事件或任务请求,以满足实时任务的时间要求。
稳定性和可靠性:实时嵌入式操作系统要求系统能够在各种环境条件下稳定可靠地运行,并在不可避免的故障情况下提供适当的错误处理机制。
硬实时和软实时支持:实时嵌入式操作系统通常提供对硬实时(Hard Real-Time)任务和软实时(Soft Real-Time)任务的支持。硬实时任务必须在严格的时间限制内完成,而软实时任务对时间限制更灵活。
任务调度和优先级:实时嵌入式操作系统通过任务调度器来管理和分配任务,通常采用优先级调度算法,确保高优先级的实时任务得到及时处理。
中断处理:实时嵌入式操作系统具备高效的中断处理机制,能够快速响应和处理系统的中断事件。
资源管理:实时嵌入式操作系统提供有效的资源管理机制,包括内存管理、设备驱动程序、文件系统和网络协议等,以支持嵌入式系统的功能需求。
低功耗和小尺寸:实时嵌入式操作系统通常要求运行时的资源占用较少,以适应嵌入式系统对功耗和尺寸的限制。
常见的实时嵌入式操作系统包括 FreeRTOS、ThreadX、Micrium μC/OS-II、VxWorks 和 QNX Neutrino 等,它们被广泛应用于汽车电子、工业自动化、医疗设备、消费电子和物联网等领域的嵌入式系统中。
1.2 什么“实时”
"实时"一词用于描述某种系统或过程具有立即或几乎立即响应的特性。它指的是在要求的时间范围内提供实时性能和反馈的能力。
在不同的领域中,实时可以有不同的定义和要求。
在计算机科学中,实时通常指的是一种计算机系统可以在特定时间范围内保证任务的响应和执行。实时系统将任务分为硬实时和软实时,硬实时任务必须严格按照预定的时间完成,而软实时任务对时间限制更灵活。
在通信领域中,实时通常表示传输和处理数据的实时性能,例如实时视频流的传输和播放。
在工业自动化中,实时可以指一个控制系统能够及时响应外部事件并采取相应的行动,如实时监测和调节温度、压力和速度等参数。
在金融领域中,实时可以指即时处理和更新市场数据、交易和报价。
总的来说,实时指的是在特定的时间要求下,系统能够以及时、准确和可靠的方式进行处理、响应和交互的能力。实时性要求的严格程度取决于具体的应用和领域。
一、嵌入式实时操作系统(RTOS)
1.1 嵌入式实时操作系统的特点
实时操作系统响应快速,能准确高效地执行控制指令并按预期做出响应。嵌入式实时操作系统旨在为实时应用程序提供服务,应用程序处理传入的数据,大多数情况下没有缓冲延迟,具有实时性的优点,这是设计者和用户考虑的一个重要指标。
实时操作系统有硬实时和软实时之分,软实时系统与人的反应速度相当,能在几百毫秒内做出反应,而硬实时系统则可在几十毫秒内做出响应甚至更短时间。
![硬实时和软实时](/uploads/47286/66952d06ceee0.png)
硬实时和软实时
但 RTOS 缺点在于:一般不存在图形界面,缺少如网络浏览器的功能,为快速响应中断信号需提供特定的驱动程序;具有较低优先级的任务需要等待很长时间。
1.2 实时操作系统与通用操作系统
用于运行笔记本电脑的通用操作系统(例如Windows)包含丰富的应用程序和功能,能够满足动态变化的用户需求。但它无法满足小尺寸嵌入式系统所需的精确要求、极低延迟、持久的正常运行时间和无需干预的性能,因此需要实时操作系统的支撑。相比于较大的通用操作系统,实时操作系统反应速度更快,占用空间更少。
![GPOS 与 RTOS 的比较](/uploads/47286/66952d070e4e1.png)
GPOS 与 RTOS 的比较
开源通用操作系统(GPOS)以丰富功能和灵活性而闻名,通常在非关键系统上使用,具有时间灵活性。而在机器人和飞行控制器等安全关键系统上,通常选择实时操作系统进行开发,这是成功的关键因素。与此同时,RTOS 也存在一些不足:资源消耗大,使得系统昂贵;算法复杂很难理解,因此,在选择 RTOS 时,不仅需要使用内部实时操作系统,开源或基于社区的操作系统也不可或缺。
1.3 嵌入式实时操作系统调度算法
调度是一种确保作业在特定时间执行的方法,是指将可用 CPU 资源分配给进程的过程。对于实时系统而言,调度策略在任何实时系统中都至关重要,其中关键因素是调度算法。因此,实时系统研究的一个重要领域在于如何采用适当的算法来确保每个任务都能在其时间限制内完成。
μC/OS-II 调度算法,主要采用基于事件触发的优先级的抢占式调度,其特征是系统为每个任务分配优先级,一旦具有最高优先级的任务准备就绪,它就可以获得 CPU 的控制。基于 μC/OS-II 实时操作系统内核,提出了一种基于动态优先级的时间触发调度算法,以支持多处理机多任务,并设计相应函数来实现动态优先级调整,可以满足任务在实时系统中动态变化的需求。该算法避免了优先级反转,保证了实时性,即解决“同级优先级”任务调度问题,又有效提高了任务调度的效率。
![整体归一化实时响应时间图](/uploads/47286/66952d074db43.png)
整体归一化实时响应时间图
最后,通过分析动态优先级调度算法性能,可看出在处理器使用率相同的情况下,使用改进的动态优先级调度算法的归一化实时响应时间更快。当然,该算法在投入机载计算平台之前,还需要做大量的实验去验证算法的其他性能,对平台做进一步完善。
二、嵌入式实时操作系统的应用
从智能家居到交通管理,从工业控制到军用,全世界无数产品都配备了实时操作系统。在很大程度上,RTOS 行业受到计算机硬件行业发展的影响,产生了一系列的应用案例,对操作系统要求也更高。
智能家居系统
![常见的嵌入式操作系统详解](/uploads/47286/66952d07855ea.png)
智能家居中的不同设备可以相互通信,多个设备可以通过智能感应、远程控制和语音识别进行链接。智能家居以更便捷的方式帮助用户管理家庭设备,提供高效且舒适的生活与工作环境。
交通管理
![常见的嵌入式操作系统详解](/uploads/47286/66952d07c6414.png)
将与物联网技术有效融合的实时操作系统嵌入到交通管理应用,利于实现交通的智慧化管理。实时分析、高效传递城市道路交通状况信息,合理规划路线,使得交通的拥堵情况得到有效缓解。比如:高级驾驶辅助系统(ADAS)可通过提供实时增强的可视化和与周围环境的交互来改善驾驶员对车辆的控制。
工业控制
![常见的嵌入式操作系统详解](/uploads/47286/66952d080abb7.png)
当今出现的众多智能机器人都依赖于内置实时操作系统,工业控制的要求往往比较高,需要复杂的设备接口,并在显示屏上实时显示这些设备状态和传感器等信息。凭借其独特的优势,内置的实时操作系统可以在许多环境恶劣、地面条件复杂的区域实现无人值守监控。
军用作战指挥
![常见的嵌入式操作系统详解](/uploads/47286/66952d0848b0d.png)
RTOS 在如今的高科技战争中愈发重要,它集成了卫星定位、无线通信、图像摄取传送等功能,这些不同功能要求的技术研发产品将应用装备到特定的作战场合。比如说,各种陆海空军用电子设备,军用雷达对抗通信设备,以及各种野战指挥作战专用设备,均搭载了实时操作系统。
上述实时操作系统是针对特定用例设计的,其缺点是成本高且耗时。定制操作系统将不可避免地耗费大量时间,在硬件上的投入大量资金而且性能得不到保证。如果开源系统的实施过程出现问题,也可能导致工期紧张甚至超支。相比之下,商用系统易于使用、快速,技术团队专业且经验丰富。
三、国外嵌入式实时操作系统
随着嵌入式实时操作系统不断进化升级,以下概括总结了 VxWorks、Linux 与 WinCE 这三种国外实时操作系统的优缺点。
![VxWorks、Linux 与 WinCE 的比较](/uploads/47286/66952d0885478.png)
VxWorks、Linux 与 WinCE 的比较
3.1 VxWorks
VxWorks 凭借良好的可靠性和实时性被广泛地应用在各种高精尖技术行业中,如卫星通讯、军事演习等。VxWorks 最大的缺点是价格昂贵,软件的开发和维护成本都非常高,一般只提供二进制代码,源代码是不提供的,支持的硬件数量有限。
3.2 Linux
Linux 开源操作系统使用免费、可自由修改,它的功能强大、设计完善,为运行不同计算机平台提供了准确有效的通信手段,在价格上极具竞争力,目前最为流行。Linux 的弊端在于提供实时性能需添加实时软件模块来实现调度策略、硬件中断异常和程序执行。因此,代码错误可能破坏操作系统从而影响整个系统的可靠性。
3.3 Windows CE
Windows CE(Wince)相对简易开发,周期短且内核完善,可灵活支持通信,GUI丰富且开发功能完善,能更大程度地控制调度机制。但 Wince的版权费用也不可避免存在价格不菲的缺点,没有考虑实时应用,很难支持多种硬件平台,无法做到可定制性,且对资源的要求更高,在网络功能方面应用很少。
四、国内嵌入式实时操作系统
随着物联网的快速发展,国产设备自主可控需求强烈,国产嵌入式实时操作系统发展也逐渐步入轨道。鸿道(Intewell)操作系统是一款以微内核为基础、功能灵活、易扩展、高安全、高可靠的实时操作系统。
![鸿道(Intewell)操作系统架构图](/uploads/47286/66952d08d2ddf.png)
鸿道(Intewell)操作系统架构图
科东软件自主研发的鸿道(Intewell)工业操作系统,拥有三十多年的研发历史以及应用经验,具备微内核,高实时,虚拟化等诸多特点,可以实现工业控制底层通用化以及人工智能与控制一体化。为企业客户提供国产化行业解决方案,目前已成功应用于高端数控系统、工业机器人、医疗机器人、运动控制系统、轨道列车控制系统、配电自动化、汽车控制域等业务场景。
RT-Thread 是一款组件丰富、易扩展、低功耗、安全性高的国产开源的嵌入式实时操作系统。RT-Thread 内核对象与对象容器分配的链表相链接。
![RT-Thread 的内核对象容器及链表](/uploads/47286/66952d09151c0.png)
RT-Thread 的内核对象容器及链表
RT-Thread 不依赖于特定的内存分配方式,通过对象容器中内核对象动态与静态相结合的方法,极大提高了系统的灵活性。它凭借稳定丰富的系统功能,在新能源、航空和医疗等领域被广泛应用,其高度可靠的实时性得到了证实。
翼辉信息的 SylixOS 自主实时操作系统,在实时性方面做了很多有益的设计。SylixOS 的应用程序动态装载功能使业务逻辑与系统平台分离开发、独立升级,仅需更新相关的组件即可变更相关算法、增减应用功能等,这利于项目更加便捷、高效的开发与维护。
![SylixOS 的动态装载](/uploads/47286/66952d0942cea.png)
SylixOS 的动态装载
SylixOS 的实时处理及动态加载机制,支持在操作系统上集成各部门应用软件,满足了分布式软件开发需求。总之,SylixOS 能成为国内实时操作系统的最优秀代表之一,并在具体性能上达到或超过了众多实时操作系统的水平,是因为在设计思路上借鉴了众多实时操作系统的设计思想。
五、嵌入式实时操作系统的发展前景
随着 RTOS 的广泛应用,其功能与需求种类也日益多样化,其结构形式与开发也日益复杂。实时操作系统必须响应创新,采用最先进的开发技术,适应新一代嵌入式系统开发人员采用的框架、语言和方法,并提供信息和功能的安全性、高性能和可靠性。因此,操作系统支持生活化、系统化、网络化、精细化开发环境。
(1)生活化:应用嵌入式实时操作系统的设备、家电与工具已经进入了千家万户的生活之中。它能满足大家在信息、通讯、出行和娱乐等方面的需求,使得人们的工作和生活质量有效提高。
(2)系统化:为更好地满足实时操作系统的开发需求,其开发工具将不断向着系统化方向发展。随着嵌人式设备的普及,不可避免地会出现全局处理需求,例如对各种嵌入式设备的数据进行全面整理,甚至综合分析和统筹处理。
(3)网络化:网络化发展将进一步推动嵌入式实时操作系统与互联网技术的深层次耦合。它更加可以让互联网技术在生活和工作中帮助人们快速、高效地完成很多事情,解决人们遇到的困难,所以现在人们对它的依赖很大同时要求很高。
(4)精细化:基于用户需求的嵌人式系统的本质特点,决定它必然会朝着功能细分和专业化方向发展,这也取决于各个领域的科学发展。实现将嵌入式实时操作系统的更多功能集成在更小的芯片上,从而降低生产成本。
尽管嵌入式实时操作系统在中国开发起步较晚,中小科研机构和厂商一直面临资金的短缺和研究经费不足的难题。还长时间受制于国外技术垄断,存在 RTOS 版税和服务费用昂贵的情况,大幅增加了嵌入式生产成本,从而使得产品市场和竞争力受到限制。但随着我国信息科技的快速发展和系统设计水平的稳步提高,RTOS 在不断发展进步,功能也日益强大,使得市场上的 RTOS 产品也日趋成熟。
六、结语
只有开发出具有自主版权的系统,才能摆脱对国外嵌入式实时操作系统产品的依赖。Linux 开放的源代码,技术支持广泛与价格优势这一系列特征,有利于国产的嵌入式操作系统的开发。因此,我国本土操作系统仍有机会占领更多的市场份额与之抗衡。
事实上,要独立设计一个实时操作系统非常复杂,从现有的系统运行角度来讲,整个系统处理功能会受到软件与硬件的制约,是基于网络需求实现的。因此,要利用好信息化的网络优势,将系统本身所具备定向性功能进行逐步分解与更新,在保证系统关联运行功能前提下进行独立化操作;同时充分利用现有开源代码,实现对基础功能的扩展升级,从而开发出自主版权的嵌入式实时操作系统产品。
什么是嵌入式
嵌入式系统指的是一种专门设计用于执行特定任务的计算机系统,通常被嵌入到其他设备或系统中的硬件和软件组合中。
嵌入式系统通常具有以下特点:
专用性:嵌入式系统是为特定的应用领域或特定任务而设计的,其功能和性能针对特定需求进行优化。
实时性:嵌入式系统通常需要及时响应外部事件或数据,以满足特定应用对时间要求的需求。
可靠性:嵌入式系统通常被用于在各种极端环境下工作,并要求稳定可靠地运行。
资源受限:嵌入式系统通常拥有有限的计算和存储资源,因为其设计需要适应特定的设备和成本预算。
实时约束:嵌入式系统通常有一系列的硬件和软件约束,例如功耗限制、尺寸限制和资源限制等。
常见的嵌入式系统包括但不限于以下领域:
汽车电子:如发动机控制、车载娱乐系统和驾驶辅助系统。
家电和消费电子:如智能手机、电视、家用电器和智能家居设备。
工业自动化:如工控系统、机器人和传感器网络。
医疗设备:如心脏监测器、血压计和假肢。
通信设备:如手机基站、网络路由器和调制解调器。
物联网(IoT)设备:如智能传感器、智能穿戴设备和智能城市系统。
嵌入式系统的设计和开发通常需要硬件、软件和固件的嵌入式开发技术,以确保系统的稳定性、可靠性和性能满足特定的应用需求。