嵌入式系统国产化发展态势洞察(三)国产化操作系统

国产操作通过多年的发展与生态建设,国产OS已经从‘能用’走向了‘好用’。典型的国产通用操作系统例如:中标麒麟、统信 UOS、华为openEuler、阿里Anolis等,这些操作系统主要应用于桌面与服务器领域,也有嵌入式版本。

国产专用嵌入式操作系统目前也取得了较大的发展,典型的例如OpenHarmony、RT-Thread、SylixOS可应用于不同资源配置的嵌入式系统。

一、嵌入式操作系统特性

实时性:快速响应,能对外部事件和内部任务在极短时间内做出响应,如汽车安全气囊系统在碰撞瞬间必须在毫秒内展开,工业控制系统中的紧急停止指令需立即执行。任务调度,采用抢占式多任务调度策略等,确保高优先级任务可随时抢占低优先级任务的执行权,保证关键任务按时完成,如 VxWorks 的优先级抢占式调度。如果系统对实时性要求极高,如航空航天、军事、工业控制中的关键任务等,需要选择硬实时操作系统,如 VxWorks、QNX、μC/OS-II 等;对于软实时系统,如智能家居设备、消费电子等,对时间要求相对宽松一些,可以选择灵活性更大的操作系统,如 Embedded Linux、Zephyr 等。

资源受限性:硬件资源,通常运行在低功耗、低内存、低处理能力的设备上,如智能手环、传感器节点等设备中的微控制器,其内存可能只有几十 KB 到几 MB,处理器速度相对较慢。系统优化,内核精简,去除不必要的功能和模块,如 FreeRTOS 内核小巧,可在几 KB 内存的微控制器上运行,以最小的资源占用提供基本的任务调度和管理功能。轻量级的操作系统如 FreeRTOS、μC/OS-II 等更适合资源受限的系统;而像 QNX 这样的操作系统则适用于有更多资源的大型嵌入式系统。

专用性:特定任务,往往是为特定的应用场景和任务而设计,如智能家居中的家电控制系统、工业自动化中的生产设备控制系统、航空航天中的飞行控制系统等,功能直接与目标设备的用途相关。硬件紧密结合,与特定的硬件平台紧密绑定,需要针对具体的硬件进行定制和优化,包括编写专门的设备驱动程序,以实现对硬件的高效控制和访问。

高可靠性:故障容忍,对故障的容忍度低,任何故障都可能导致严重后果,如医疗设备中的嵌入式操作系统故障可能危及患者生命,因此需要具备高度的稳定性和容错能力。错误处理,有完善的错误处理机制,如内存保护、异常处理、看门狗定时器等,能够及时检测和处理系统中的错误和异常情况,保证系统的正常运行。

可裁剪性:功能定制,可以根据具体应用的需求,对操作系统的功能进行裁剪和定制,去掉不需要的模块和功能,以减小系统的资源占用和提高系统的运行效率。灵活配置,支持多种配置选项,允许开发者根据硬件资源和应用需求,灵活地选择和配置操作系统的功能和特性,如内核大小、任务数量、内存管理方式等。

安全性:安全机制,采用多种安全机制,如加密文件系统、安全启动、访问控制等,防止系统受到未经授权的访问和恶意攻击,保护系统的安全和隐私。安全认证,部分嵌入式操作系统通过了国际第三方安全认证。

低功耗性:节能设计,在设计上考虑低功耗要求,采用节能的任务调度算法、电源管理策略等,使设备在运行过程中尽可能降低功耗,延长电池寿命或减少能源消耗。休眠与唤醒:支持设备的休眠和唤醒功能,当设备处于空闲状态时,可自动进入低功耗的休眠模式,当有外部事件触发时,能快速唤醒并恢复正常工作。

二、国外嵌入式操作系统

嵌入式 Linux 操作系统

嵌入式 Linux 是将 Linux 操作系统进行裁剪定制后,应用于嵌入式系统的一种操作系统。Linux 本身具有开源、稳定、安全等诸多优点。当它被应用到嵌入式领域时,能够提供强大的功能支持,包括多任务处理、网络通信、文件系统管理等多种功能,广泛应用于工业控制、智能家居、汽车电子、医疗设备等众多领域。
标准Linux系统针对嵌入式领域还有一些增加嵌入式系统特性的版本。

  • uclinux:专为没有 MMU(内存管理单元)的微处理器设计,具有内核小、可裁剪性强等特点,适用于资源极度受限的设备,如一些简单的智能家居传感器、低端路由器等。

  • RTLinux:在标准 Linux 内核上增加了实时内核,强实时性任务直接运行在实时内核上,适用于对实时性要求极高的场合,如工业自动化中的实时控制系统、航空航天中的飞行控制系统等。

典型嵌入式操作系统

  • VxWorks:美国 WindRiver 公司于 1983 年设计开发的一种嵌入式实时操作系统。具有良好的可靠性和实时性,内核小且可裁减,提供了友好的开发调试环境和较好的兼容性。广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

  • QNX:一种商用的遵从 POSIX 规范的类 Unix 实时操作系统,是微内核架构,核心仅提供进程调度、进程间通信、底层网络通信和中断处理等 4 种服务,进程在独立的地址空间运行,所有其它 OS 服务都实现为协作的用户进程,因此 QNX 核心非常小巧而且运行速度极快。其最大的应用领域是汽车,全球有超过 230 种车型使用 QNX 系统。此外,在网络通信、轨道交通、医疗器械、智能电网及航空航天中也有广泛应用。

  • μC/OS-II:一款经典的商用嵌入式实时操作系统,具有源码公开、可移植、可裁减、调度策略灵活等优点,内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级。适用于资源有限的嵌入式系统,广泛应用于工业自动化、消费类电子设备等领域。

  • FreeRTOS:轻量级、开源、免费的嵌入式实时操作系统,支持多种硬件平台,几乎可以在所有主流的微控制器上运行,具有活跃的社区支持,适合初学者。常用于物联网设备、工业自动化、消费类电子设备等对成本敏感且资源受限的场景。

三、国产嵌入式操作系统

国内众多企业加大研发投入,推动嵌入式系统软件的性能提升和功能优化,使得产品更加适应市场需求,提升了行业整体竞争力。例如,华为前期的物联网系统liteos 在超低功耗和超小尺寸方面表现出色,在 nb-iot 领域站稳了市场;睿赛德电子科技公司的 RT-Thread 在物联网和嵌入式开发者中广受好评,在缩短产品开发周期、加快端云互联对接和提升设备端软件质量等方面成效显著。随着物联网、人工智能等技术的快速发展,嵌入式操作系统的应用场景不断拓宽,从传统的工业控制、消费电子领域,逐渐扩展到智能家居、智能交通、智能电网等领域,在智能系统中发挥着关键作用。

openEuler Embedded

openEuler Embedded旨在成为一个以Linux为中心的综合嵌入式软件平台。如上图所示,openEuler Embedded中各组成部分的关系类似于一个“太阳系”的结构: 复杂而强大的Linux平台作为整个星系的中心,提供丰富的生态与功能、强大的基础设施,而不同的非Linux运行时“行星”则围绕着Linux这颗“太阳”提供各具特色的功能与生态,例如通过硬实时操作系统(Real-Time Operating System, RTOS)可以满足us级的硬实时的需求, 基于可信执行环境(Trusted Execution Environment, TEE)技术的运行时可以保障信息安全、与硬件紧密结合的裸金属运行时可以实现极致性能、借助硬件辅助的虚拟化技术嵌入式虚拟机可以实现不同运行时之间的高效隔离和灵活调度等。openEuler Embedded 以Linux丰富的生态与功能、重点构建的混合关键性系统、分布式软总线等关键特性、以及作为一个平台所必须的基础设施等为“引力”,把诸多的运行时与Linux有机地集成在一起。

OpenHarmony

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。OpenHarmony技术架构如下所示:

OpenHarmony支持如下几种系统类型:

  • 轻量系统(mini system)

    面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,硬件资源极其有限,支持的设备最小内存为128KiB,可以提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。

  • 小型系统(small system)

    面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为1MiB,可以提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行领域的行车记录仪等。

  • 标准系统(standard system)

    面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为128MiB,可以提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。

UOS OS

统信智能终端操作系统专业版是一款专为智能终端打造的多端融合操作系统,基于Linux内核自主研发,确保多维度安全防护,实现了对Linux Qt应用和Android应用的兼容,可在平板电脑、手持终端、智慧大屏、自助终端和云终端等不同形态的智能终端设备上部署,满足党政军以及金融、电力、能源、教育等关键行业的各类业务及使用场景需求。

KeylinOS

银河麒麟桌面操作系统工业版是在银河麒麟桌面操作系统基础上,针对工业领域的特定需求进行优化和定制的版本。基于 Linux 内核进行深度定制和优化,继承了 Linux 系统的稳定性、开源性和多用户多任务等特性,同时针对工业环境的特殊需求进行了针对性的改进和优化。具备轻理化桌面、系统原子更新、硬件多域隔离、操作系统混合部署能力,支持国产x86、ARM、RISC-V、LoongArch架构处理器。

SylixOS

SylixOS是由翼辉信息自主研发的大型嵌入式实时操作系统,自2006年问世以来,经过多年的迭代更新,已具备卓越的实时性和可靠性,并为不同行业的嵌入式设备提供了丰富的功能和理想的软件开发平台。

作为一款国产大型实时操作系统,SylixOS提供了全方位的功能和服务,包括线程管理、进程管理、内存管理、中断处理、驱动框架、文件系统、网络协议栈等。其高度的可定制性和可扩展性使得根据不同应用场景进行定制和优化成为可能。同时,SylixOS还提供了完善的开发工具链和开发文档,方便开发人员进行应用开发和调试。

SylixOS具备大型操作系统的特点,包括百万行以上的内核代码,支持多种硬件架构,动态装载应用程序,支持虚拟进程,兼容POSIX标准规范以及支持标准设备管理模型等。目前,SylixOS已广泛应用于防务、航空、航天、轨道交通、电力、工控、汽车电子等多种领域的产品上,可替换国外VxWorks和QNX方案。SylixOS 适用于高性能、高可靠、高安全、业务场景复杂的设备,通常运行在高性能处理器平台,典型应用包括弹载操作系统平台、星载操作系统平台、列车安全计算机、电力继保设备、机器人控制器等。经过多年的行业经验积累,SylixOS 在不同行业经过了大量标准测试,并通过工信部赛普评测中心确认, 内核代码自主率达到 100% 。

RT-Thread

RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,但允许多个任务同时运行并不意味着处理器在同一时刻真的执行了多个任务。事实上,一个处理器核心在某一时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行非常快速地切换(调度器根据优先级决定此刻该执行的任务),所以给人造成多个任务在一个时刻同时运行的错觉。在 RT-Thread 系统中,任务是通过线程实现的,RT-Thread 中的线程调度器也就是以上提到的任务调度器。

RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。针对资源受限的微控制器(MCU)系统,可通过方便易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 版本(NANO 是 RT-Thread 官方于 2017 年 7 月份发布的一个极简版内核);而对于资源丰富的物联网设备,RT-Thread 又能使用在线的软件包管理工具,配合系统配置工具实现直观快速地模块化裁剪,无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。

相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。虽然 32 位 MCU 是它的主要运行平台,实际上很多带有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列级别 CPU 的应用处理器在特定应用场合也适合使用 RT-Thread。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值