admin管理员组

文章数量:1532200

2024年1月6日发(作者:)

与RTOS大不一样,这些国内外主流物联网操作系统中哪款更适合你

每一个时代都有属于自己特色的电子产品,每一类产品都有自己适配的操作系统。例如早期的MULTICS、UNIX这类多任务操作系统,到个人电脑采用的LINUX、Windows等多处理器操作系统,再到智能手机时代的iOS、安卓(Android)等移动操作系统。

这些操作系统运行在“裸机”设备的最低层,搭建了其他软件、应用(APP)运行的环境与平台。当今各类软件和互联网应用的火热,以及PC时代与移动互联网时代的辉煌,都离不开一路完善的操作系统。

近年来,随着物联网(IoT)市场的迅猛发展,嵌入式设备联网成为了一个刚需。物联网的核心和基础仍是互联网,但不同于互联网强调人与人的互联,物联网是在这样的基础上延伸和扩展出人与物、物与物之间的连接网络,形成我们说的“万物互联”。

虽然物联网的发展是大势所趋,也被普遍看好和关注,但嵌入式设备的联网会使得软件复杂性大幅增加,传统的嵌入式RTOS(实时操作系统)内核已经越来越难满足市场的需求,在这种情况下,物联网操作系统(IoTOS)的概念应运而生。

物联网对操作系统的要求

物联网系统大致可分为感知层、终端系统层、网络层(进一步分为网络接入层和核心层)、设备管理层、后台应用层等几个层次。由于包含大量的嵌入式设备,与传统的单一设备相比,物联网面对的是碎片化难题,无论是底层的连接还是上层的应用服务,都特别强调“术业有专攻”:

物联网系统要求感知层的设备更小、功耗更低,而且需要安全可靠和具备组网能力;

物联网通信层需要支持各种通信协议和协议之间的转换;

应用层则需要具备云计算能力。

在软件方面,早先的嵌入式操作系统只是完成了物理硬件的抽象,并不能真正代表未来的物联网。例如在安卓的生态环境中,开发者基本不用考虑智能终端的物理硬件配置,只需根据安卓的编程接口编写应用程序,就可以运行在所有基于安卓的智能终端上一样。

简单地说,这是“物联网设备操作系统”和“物联网操作系统”的区别。设备操作系统解决的是设备怎么联网、如何更方便地联网的问题,但没有解决联网之后做什么以及如何做的问题。对于整个物联网系统来说,后者更重要。

支撑物联网系统,需要比传统的嵌入式设备更复杂的软件,不能简单局限于“边缘侧的操作系统”,而要涉及到芯片层、终端层、边缘层、云端层等多个层面。通过层层分发、层层下达,通过调度云、边、端等不同层级中不同设备的计算资源,而实现达到调度“物体”本身的目的。这些要求,催生了面向物联网设备和应用的专用操作系统。

物联网操作系统的特点

物联网操作系统具备物联网应用领域内的以下特点:

1、内核尺寸伸缩性及架构可扩展性

物联网的发展即将进入一个小的爆发期,所以面对一轮轮的技术

革新甚至换代时,整体架构的灵活性和可扩展性可以说决定了一个企业的商业命脉。同时,为了适应不同的应用场景下的技术要求,内核尺寸的伸缩性也是需要面对的问题。

2、内核的实时性

对于非抢占式调度方式的内核很难满足关键性动作的实时性要求,比如常见的中断响应和多任务调度等情况下,操作系统的实时性便有了更高的要求,特别是对于大多数的物联网应用而言,有意义的响应时间决定了市场的接受度。

3、安全性和可靠性

在物联网的应用环境下,面对海量节点可以说设备一经投入使用,就很难再去维护。所以平均无故障运行时间和在一些严苛环境下的性能表现就显得尤为重要。而在一向很注重信息安全的机密机构的数据安全性,引发了业内关于开源机制、VMM机制等的广泛讨论。

4、低功耗

由于物联网的应用场景和网络节点的数量增多,低功耗是一个非常关键的指标。所以在整体架构设计的时候,就需要加入一些休眠模式、节能模式、降频模式等逻辑判断,以延长续航能力。

主流物联网操作系统盘点

真正出现针对物联网特性开发的操作系统,是在2010年的RIOT(实时多任务操作系统)。随后2014年,风河(WindRiver,已被英特尔收购)在德国纽伦堡的嵌入式世界大会上,对外公布VxWorks7物联网操作系统。同样是2014年,Arm推出物联网设备平台和操作

系统MbedOS。再后来,微软在Windows10的基础上推出了面向物联网的操作系统Windows10IoTCore。

国内最早发布物联网操作系统的有上海庆科,算起来比Arm还早三个月发布了MiCO。布局手机操作系统失败后,阿里YunOS也开始转向物联网。2015年,华为也推出了开源物联网OSLiteOS,而在美国制裁后出现的鸿蒙OS(HarmonyOS)包含了LiteOS的软件代码,成为了华为布局于智能设备领域的底层操作系统。

目前,物联网操作系统主要分为两大类,一是由传统的嵌入式RTOS发展而来,典型代表有FreeRTOS、LiteOS、RT-Thread、ArmMbedOS;二是由互联网公司的云平台延伸而来,基于传统操作系统进行“剪裁”和定制,典型代表有AliOSThings、TencentOStiny、Win10IOT。

RTOS阵营的优点是在物联网终端上已经广泛支持,硬件推广成本低。缺点是软件开发专业度极高,软硬件开发难以隔离,对专业软件公司进入这个领域造成困难。

互联网平台阵营的优点是天生与互联网服务相结合,方便对接互联网应用,缺点是基本上是各家产品对各家服务,难以做到平台中立,对软件开发者来说功能性受到了限制。

本文按照国外和国内两个阵营,对现有仍比较活跃的物联网操作系统进行一个盘点。那些较小众、曾经短暂出现后来淡出或不再更新的操作系统,则不在本文讨论范围。

国外

WindRiver-VxWorks

VxWorks操作系统是WindRiver于1983年设计开发的一种嵌入式RTOS,是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。

VxWorks支持几乎所有现代市场上的嵌入式CPU,包括x86系列、MIPS、LoongISA、PowerPC、FreescaleColdFire、Inteli960、SPARC、SH-4、Arm,StrongARM以及xScaleCPU。其他特性包括具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。

然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。

Canonical-UbuntuCore

Ubuntu是以桌面应用为主的Linux发行版,在玩家中很受欢迎,也令2016年11月发布的专为物联网打造的UbuntuCore变得流行。UbuntuCore属于轻量级操作系统,并以“安全第一”的理念进行设计。根据官方文档,整个系统已经过重新设计,以从第一次启动起就专注于安全性。

UbuntuCore具有防篡改功能。由于应用程序可能来自不同的来源,因此它们仅对自己的数据具有特权。这样做是为了使一个设计不当的应用程序不会使整个系统容易受到攻击。UbuntuCore是为业务而构建的,这意味着开发人员可以直接专注于手头的应用程序,而其他要求则由默认操作系统支持。

UbuntuCore的另一个重要功能是安全应用商店的可用性,以及有一个现成的软件生态系统,所以使用UbuntuCore变得更加简单。

RIOT

RIOT最初是由柏林自由大学(FUBerlin)、法国国家信息与自动化研究所(INRIA)和汉堡应用科技大学(HAWHamburg)一同开发的。RIOT基于微内核架构,其内核基本上是从FireKernel继承的;这个内核原本是为传感器网络开发的。

和其他低内存占用的系统(如TinyOS和Contiki)不同,RIOT允许使用C语言和C++语言编写应用程序,而且提供完整的多线程和实时响应解决方案。这令RIOT成为了一款“用户友好型物联网操作系统”,支持许多低功耗IoT设备和各种微控制器架构。

它对开发人员的友好体现在支持标准环境和工具,因此开发人员无需经历陡峭的学习过程。支持标准编程语言,例如C或C++,硬件相关的代码非常少。开发人员可以编写一次代码,然后在8位,16位和32位单片机上运行。RIOT也可以作为一个

RIOT也是资源友好和物联网友好的,它的重要功能之一是其支持轻型设备的能力,可以实现较大的能耗。它支持多线程,而线程开

销很小。RIOT提供多种通信协议栈,包括了IPv6、6LoWPAN和内容中心网络。它还支持RPL、UDP、TCP和CoAP。

Contiki

Contiki的名字来自于历史上最著名的探险家之一托尔·海尔达尔(ThorHeyerdahl)制作的一艘帆船“康-提基号”(Kon-Tiki)。其基础的内核以及大部分的核心功能是由瑞典计算机科学研究所网络内嵌系统小组的AdamDunkels开发的。

Contiki是一个小型、开源、极易移植的多任务操作系统,尤其适用于内存受限的嵌入式系统。从8位电脑到微控制器,Contiki只需几千字节的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。在一个较为典型的配置中,Contiki系统只需2Kb的RAM与40Kb的ROM。

Contiki包括了一个事件驱动的内核,因此可以在运行时动态加载上层应用程序。Contiki中使用轻量级的protothreads进程模型,可以在事件驱动内核上提供一种线性的、类似于线程的编程风格。

Arm-MbedOS

MbedOS是一种单线程架构的物联网操作系统,由Arm和它的技术伙伴协作开发。最新版本升级到了MbedOS5,集成了实时操作系统CMSIS-RTOSRTX的内核,使得MbedOS可以支持确定性、多线程实时程序,比如低时延的工业自动化控制和车联网。

MbedOS5可以运行在所有Cortex-M系列的产品上,并且具有良好的延展性。如果在处理性能要求不高的产品应用,可以只保留

MbedOS5的核心功能,使其可以运行在只有8K内存的Cortex-M0芯片上。

针对Mbed平台的应用可以使用Mbed在线IDE来开发,它是免费的在线代码编辑器和编译器。只需在本地PC上安装一个网页浏览器,因为你的项目是在云端编译的,就是说是在远程服务器上使用ARMCCC/C++编译器。MbedIDE提供私有工作空间,有能力通过分布式Mercurial版本控制导入、导出和分享代码,并且它还可以用于代码文档生成。应用还可以使用其他开发环境来开发,比如KeilµVision、IAREmbeddedWorkbench、和Eclipse加上GCCArm嵌入式工具。

Keil-RTX

RTX操作系统是由KEIL公司(已被并入Arm旗下)开发并进行升级维护的一款嵌入式实时操作系统,使用标准的C结构编写,运用RealView编译器进行编译,适用于ArmCortex-M设备。它不仅仅是一个实时内核,还具备丰富的中间层组件,不但免费,而且代码也是开放的。

RTX的主要功能有开始和停止任务(进程),除此之外还支持进程通信,例如任务的同步、共享资源(外设或内存)的管理、任务之间消息的传递。开发者可以使用基本函数去开启实时运行器,去开始和终结任务,以及去传递任务间的控制(轮转调度)。开发者可以赋予任务优先级。

特点是支持时间片,抢占式和合作式调度。不限制数量的任务,每个任务都具有254的优先级。不限制数量的信号量,互斥信号量,

消息邮箱和软定时器。支持多线程和线程安全操作。使用MDK基于对话框的配置向导,可以很方便的完成MDK的配置。

加州大学伯克利分校-TinyOS

TinyOS最初是加州大学伯克利分校(UCBerkeley)和英特尔研究院(IntelResearch)为嵌入智能微尘而开发的合作项目,之后逐渐演变成一个国际合作项目,即TinyOS联盟。TinyOS使用nesC语言编写,是一款开放源代码操作系统,它基于一种组件(Component-Based)的架构方式,使得能够快速实现各种应用。

TinyOS设计之初的目的是制作一个专属嵌入式无线传感器网络(WSN,wirelesssensornetwork)的操作系统。但事实上,由于良好的可扩展性和足够小的代码尺寸,TinyOS在物联网的应用领域中也占有非常重要的地位。

TinyOS的用户社区十分活跃,其用户遍布学术界和产业界。从一年中TinyOS被下载超过35000次这一事实可以理解TinyOS的流行。TinyOS非常有效地用于各种场景中,例如传感器网络、智能建筑、智能电表等。

亚马逊-FreeRTOS

FreeRTOS是一个迷你的实时操作系统内核,2003年由RichardBarry设计。作为一个轻量级的操作系统,整个核心代码只有3到4个C文件,为了让代码容易阅读、移植和维护,大部分的代码都是以C语言编写,只有一些函数(多数是架构特定排班副程序)采用汇编语言编写。

其特点是用户可配置内核功能、多平台的支持、目标代码小,简单易用强大的执行跟踪功能、堆栈溢出检测、没有限制的任务数量和任务优先级,多个任务可以分配相同的优先权、队列,二进制信号量,计数信号灯和递归通信和同步的任务、优先级继承。

FreeRTOS提供许多方法以实现多线程(threads)、多作业(task)、互斥锁(mutex)、信号量(semaphore)和软件计时器(softwaretimer),有个为低耗电应用程序提供的无嘀嗒(tick-less)模式,线程的优先权管理也有支持。主要功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。

该操作系统由于简单和易用,在轻量级的CPU上目前很多厂商都用这个国外系统,并已被经成功移植到35种不同的微控制器上。FreeRTOS采用MIT许可证许可。

微软-Windows10IoT

Windows曾经叫做WindowsEmbedded,是微软的嵌入式系列产品家族,微软在开始发行Windows10嵌入式版本时将"WindowsEmbedded"更名为"WindowsIoT"。该系统以各种物联网设备为目标,从小型的工业网关到较大型且更复杂的设备(例如:控制医疗设备、ATM),适合自动化制造、零售、医疗、军事、金融、航天等嵌入式设备所使用。

目前包括四大系列:WindowsEmbeddedStandard、WindowsEmbeddedCompact、WindowsEmbeddedEnterprise、

WindowsEmbeddedPOSReady。

2020年5月,微软宣布将把Windows10IoTCore及Windows10IoTEnterprise两个版本合并为一,预计2021年释出第一版,同时也承诺新版本将更精简,且增加执行Linux容器等新功能。

谷歌-Fuchsia

2016年,谷歌被曝出正在基于微内核Zircon研发名为“Fuchsia”的物联网OS,外界猜测Fuchsia是谷歌试图使用单一操作系统统一整个生态圈的尝试,即一个操作系统可以在智能手表、智能音箱、笔记本、智能手机等在内的设备上运行。

与基于Linux内核的ChromeOS和Android等不同,Fuchsia基于新的名为Zircon的微内核,受LittleKernel启发,用于嵌入式系统,主要使用C语言和C++编写。

Fuchsia的用户界面与应用使用“Flutter”开发,得益于Flutter提供的跨平台能力,用户可以在Android设备上安装一部分Fuchsia。

Fuchsia的形象标识是个粉红色的无限符号。作为免费和分发,采用三句版BSD,MIT和Apache2.0软件许可证。

Linux基金会-Zephyr

Zephyr最初是风河系统公司在2015年11月推出的为物联网设备开发的“Rocket内核”,更早时称为“MicrokernelProfileforVxWorks”,代码移植于2001年并购EonicSystems得来的VirtuosoDSPRTOS。2016年2月,它成为Linux基金会的项目而改称现名。

Zephyr是支持多种架构的小型实时操作系统,并针对资源受限的环境进行了优化。适用于从简单的嵌入式环境传感器和LED可穿戴设备,到复杂的智能手表和IoT无线网关。下面列出了Zephyr的主要功能:

支持150多个板。

完全的灵活性和选择自由。

可以处理体积小的物联网设备。

可以开发具有内置安全功能的产品。

在Zephyr设计中,安全性也很重要,设立了专门机制来维护或改进安全性。

Micrium-μC/OS-II

μC/OS由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务的开源实时内核,专为嵌入式应用设计,可用于8位、16位和32位单片机或数字信号处理器(DSP)。μC/OS-Ⅱ是在原版本μC/OS的基础上做了重大改进与升级,目前已经升级到了μC/OS-III。源代码开放、整洁、一致,注释详尽,适合系统开发,已有近十年的使用实践,有许多成功应用该实时内核的实例。

μC/OS-Ⅱ的主要特点如下:

公开源代码,容易就能把操作系统移植到各个不同的硬件平台上;可移植性,绝大部分源代码是用C语言写的,便于移植到其他微处理器上;

可固化;

可裁剪性,有选择的使用需要的系统服务,以减少斗所需的存储空间;

占先式,完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务;

多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法;

可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少;

实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据。

严格地说,μC/OS仅是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。

嵌入式Linux

嵌入式linux是一类嵌入式操作系统的概称,这类型的操作系统皆以Linux内核为基础,被设计来使用于嵌入式设备。由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用,其中大部分都遵从GPL,是开放源代码和免费的,可以稍加修改后应用于用户自己的系统。

此外还有大量的免费的优秀的开发工具,都遵从GPL并且是开放源代码的。有庞大的开发人员群体,无需专门的人才,只要懂Unix/Linux和C语言即可。随着Linux在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。此外稳定的网络功能是Linux本身具备的一个很大优点。内核精悍,运行所需资源少,典型的嵌入式Linux安装大概需要2MB的系统存储器。

嵌入式Linux和普通Linux并无本质区别,PC上用到的硬件嵌入式Linux几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便在嵌入式。

系统上运行Linux的一个缺点是Linux体系提供实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。

RIM-QNX

QNX主要针对嵌入式系统市场,其本身虽然并不属于,但由于其支持,使得多数传统UNIX程序在微量修改(甚至不需修改)后即可在QNX上面编译与执行,算是一款商业实时操作系统。该产品开发于20世纪80年代初,后来改名为QNX软件系统公司,公司已被ResearchInMotion公司(RIM,黑莓手机制造商)并购。

QNX是最成功的微内核操作系统之一,多数功能是以许多小型的task来执行,它们被称为server。这样的架构使得用户和开发者可

以关闭不需要的功能,而不需要改变操作系统本身。

QNXNeutrino(2001)具有微内核实时平台,实时、稳定、可靠、运行速度快,已经被移植到许多平台,并且运行在嵌入式市场中使用的各种现代处理器上,例如X86、PowerPC等。QNX在汽车领域得到了极为广泛的应用,如保时捷跑车的音乐和媒体控制系统和美国陆军无人驾驶Crusher坦克的控制系统,还有RIM公司的blackberryplaybook平板电脑。

Nucleus

Nucleus即时操作系统(NucleusRTOS)是MentorGraphics(已更名SiemensEDA)旗下AcceleratedTechnology公司所推出的嵌入式操作系统。Nucleus的好处是程序员不用再撰写板支持套装软件(BSP),并且约95%的代码用ANSIC编写,非常便于移植并能够支持大多数类型的处理器,同时可提供网络、图形用户界面、文件系统等模块支持。

在典型的目标环境中,NucleusPLUS核心代码区一般不超过20K字节大小。从实现角度来看,NucleusPLUS是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。由于采用了软件组件的方法,NucleusPLUS各个组件非常易于替换和复用。NucleusPLUS的组件包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器及I/O驱动等。

NucleusRTOS提供注释严格的C源级代码给每一个用户。

微软-ThreadX

ThreadX是由美国ExpressLogic公司(2019年被微软收购)开发的实时操作系统。ThreadX的作者是WillianLamie,他也曾是Nucleus的作者,并且曾是ExpressLogic公司的CEO。

ThreadX名字是由来有两个方面,线程(Thread)是操作系统的可执行单元,“X”表示上下文切换。ThreadX的线程共享同一内存空间,资源可共享。

和许多其他实时操作系统类似,ThreadX是多任务系统,采用抢占式调度,快速的中断响应,独立内存管理,支持线程间通信,互斥,事件和线程同步。

ThreadX主要的特点是支持优先级继承,抢占阈值的设计,微内核设计,代码空间占用小等。ThreadX源代码采用免版税使用模式(royalty-free)。

ThreadX通常应用在嵌入式操作系统中。大部分的开发工作在主机上完成,主机运行Windows或Linux系统,交叉编译器可以在主机上生成目标系统的机器码,然后下载到目标板上运行。

几种可以识别threadx系统(OS-aware)的开发工具,包括WindRiverWorkbench,ARMRealView,GreenHillsSoftware'sMULTI,MetrowerksCodeWarrior,IARC-SPY,LauterbachTRACE32和visionCLICK。

ThreadX支持的架构包括ARM,X86,ARC,MIPS,Xtensa等等,几乎涵盖所有主流CPU架构。

国内

华为-LiteOS

2015年HuaweiLiteOS发布,2016年9月推出开源版本,Kernel源代码开源,大小只有10K,是华为针对物联网领域推出的轻量级物联网操作系统,是华为物联网战略的重要组成部分。具备轻量级、低功耗、互联互通、组件丰富、快速开发等关键能力,基于物联网领域业务特征打造领域性技术栈,为开发者提供“一站式”完整软件平台,有效降低开发门槛、缩短开发周期,可广泛应用于可穿戴设备、智能家居、车联网、LPWA等领域。

关键特性包括低功耗框架、OpenCPU架构、安全性设计、端云互通组件和SOTA远程升级等。

华为-鸿蒙HarmonyOS(含LiteOS内核)

华为HarmonyOS是一款面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。HarmonyOS的主要特点是分布式,包括软总线、设备虚拟化、数据管理和任务调度方面。同时具备一次开发,多端部署;统一OS,弹性部署的特点。

HarmonyOS主要有Linux、HarmonyOS内核、LiteOS三种内核,默认采用LiteOS,而且HarmonyOS内核文件中可以看到liteos-a和liteos-m字样,推测出HarmonyOS内核对于LiteOS内核具有一定的继承性。多内核设计可以在支持针对不同资源受限设备时,选则适合

的内核。从另一个角度讲,LiteOS内核也不仅限于给HarmonyOS用,支持的硬件甚至比HarmonyOS还丰富一些,提供了更多内核案例和移植策略,从代码来看,它们都支持Cortex-M内核和Cortex-A内核。

——————小疑问:LiteOS和鸿蒙有啥不同?————

两者因对产品定位的不同,在对内存和资源的消耗上也有不同。

HUAWEILiteOS因为其具有很高的剪裁特性,在硬件资源有限的时候的仅保留内核,可以剪裁到6KBROM以及消耗2KBRAM资源,可以说对资源的消耗是低到一定程度,而HarmonyOS为了保证系统性能要求,对硬件的资源则是128KROM及2MBRAM的要求。

所以HUAWEILiteOS主打物联网业务领域,更适合硬件低配置、低成本、低功耗的应用场景;HarmonyOS更适合多媒体交互,需要Js增加开发效率的复杂大应用的场合使用。HarmonyOS目前的开发板支持还是以华为自研芯片为主,HUAWEILiteOS除了支持华为自研芯片外,还支持了市场上主流的Arm开发学习板。

————————————————————————

阿里巴巴-AliOSThings

阿里做OS起源于移动操作系统YunOS,距今已近10年,后整合升级为AliOS。其中AliOSThings是AliOS家族专门针对物联网领域的、高可裁剪、轻量级的嵌入式操作系统,致力于搭建云端一体化物联网基础设备。具备极致性能,极简开发、云端一体、丰富组建、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。

2017年10月,AliOSThings正式开源。

AliOSThings采用微内核架构,能够将在智能硬件上运行的软件容器化和在线化升级,这意味软硬件可以快速解耦、运维,降低了硬件厂商的生产与维护成本。据阿里官方介绍,这是一款专用于AIoT智能设备的操作系统,具备全新开发模式、在线裁剪工具、应用与内核分离、脚本语言支持、本地AI框架等特性。

另外,AliOSThings也是平头哥YoC软件平台的核心。

本文标签: 支持设备内核开发