2020年是物联网浪潮汹涌的一年。5G+IoT的爆发,迎来了众多智慧商业场景的落地。其中,操作系统作为物联网的“大脑”发挥着不可或缺的作用。物联网操作系统是新一代信息技术的重要组成部分。它的英文名称是IoT(InternetofThings)。顾名思义,“物联网就是万物互联的互联网”。与传统个人电脑或个人智能终端(智能手机、平板电脑等)上的操作系统不同,物联网操作系统有其独特的特点。这些特性的存在是为了更好地服务于IoT应用程序。运行物联网操作系统的终端设备可以与物联网其他层次的结合更加紧密,数据共享更加顺畅,物联网的生产效率可以得到大幅提升。在这篇文章中,我们专门统计总结了2020年最受关注的十大物联网操作系统,让我们一起来了解一下吧。AndoridThingsAndroidThings是谷歌推出的一个平台,旨在帮助安卓开发者创建物联网设备。该平台还支持强大的应用程序,例如视频和音频处理以及通过TensorFlow进行的板载机器学习。除了继承Brillo的功能外,还增加了对AndroidAPI和Google服务的支持,以及一些AndroidThings支持库。图片来自AndroidThings官网。AndroidThings最早出现在2015年的谷歌全球开发大会上,谷歌宣布将为物联网设备开发安卓操作系统,最初命名为“Brillo”。它实际上类似于Android系统的一个分支版本,类似于针对智能手表和可穿戴设备的AndroidWear;2016年12月,谷歌首次公布了AndroidThings的开发者预览版。据谷歌介绍,AndroidThings与移动版安卓一样,也会提供大量的安卓开发接口和谷歌的基础服务,让物联网设备的开发者能够快速开发功能。据悉,谷歌围绕物联网设备提供的服务包括“GoogleCloudPlatform”、“GooglePlayServices”和“AndroidStudio”开发工具。HuaweiLiteOS截图来自HuaweiLiteOS官网谈到华为在物联网领域的布局,大家可能熟悉的词就是“鸿蒙”,但其实鸿蒙OS和LiteOS是不一样的.严格来说,目前来看,两者之间是一种包容的关系。LiteOS是华为在物联网设备领域部署的底层操作系统,而鸿蒙OS是华为在智能设备领域部署的底层操作系统,包括LiteOS软件。代码,也就是说,LiteOS是鸿蒙系统中的一个内核。据了解,HuaweiLiteOS驱动万物感知、万物互联、万物智能,可广泛应用于面向个人、家庭、行业的物联网产品和解决方案。它具有创新的系统设计,可以最大限度地降低系统功耗。在特定场景下,可降低60%的功耗。可提供端到端的物联网领域技术栈,快速构建针对不同应用场景的TurnKey解决方案。复制华为在消费者、运营商、企业等领域的成功商业实践和优秀经验,助力合作伙伴商业成功。HuaweiLiteOS基础内核支持任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,更好的支持低功??耗场景,支持tickless机制,支持计时设备结盟。同时提供端云协同能力,集成了LwM2M、CoAP、mbedtls、LwIP全套物联网互联协议栈,并在LwM2M基础上提供了AgentTiny模块。用户只需关注自己的应用,无需关注LwM2M的实现细节。直接使用AgentTiny封装的接口,可以简单快速的实现与云平台的安全可靠连接。RTXRTX是ARM的嵌入式实时操作系统,采用标准C结构编写,使用RealView编译器编译。不仅有实时内核,还有丰富的中层组件,不仅免费,而且代码开放。除了任务(进程)的启动和终止,RTX的主要功能还支持进程通信,如任务同步、共享资源(外设或内存)的管理、任务间的消息传递等。开发人员可以使用基本功能来启动实时运行器、启动和终止任务以及在任务之间传递控制(循环调度)。开发人员可以为任务分配优先级。RTX的主要特性包括:支持时间片、抢占式和协作式调度。无限数量的任务,每个任务的优先级为254。无限数量的信号量、互斥量、消息邮箱和软定时器。支持多线程和线程安全操作。使用MDK基于对话框的配置向导,您可以轻松完成MDK的配置。FreeRTOSFreeRTOS是一个小型的实时操作系统内核,具有开源代码、可移植性和可裁剪性的特点。在嵌入式领域,嵌入式实时操作系统的应用越来越广泛。采用嵌入式实时操作系统(RTOS)可以更合理有效地利用CPU资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。但由于RTOS需要占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统可以在小RAM微控制器上运行。与μC/OS-II、embOS等商业操作系统相比,FreeRTOS操作系统是一个完全免费的操作系统。它具有源代码开放、可移植、可裁剪、调度策略灵活等特点,可以方便地移植到各种单片机上运行。截图来自FreeRTOS官网。作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,基本可以满足较小系统的需求。FreeRTOS内核支持优先级调度算法。每个任务都可以根据其重要性给予一定的优先级。CPU总是让处于就绪状态的优先级最高的任务先运行。FreeRTOS内核还支持轮换调度算法。系统允许不同的任务使用相同的优先级。当没有更高优先级的任务就绪时,相同优先级的任务共享CPU使用时间。在嵌入式领域,FreeRTOS是为数不多的具有实时、开源、可靠、易用、多平台支持等特点的嵌入式操作系统之一。目前,FreeRTOS已经发展到支持包括X86、Xilinx、Altera等多达30种硬件平台,其广阔的应用前景越来越受到业界人士的关注。FuchsiaFuchsia系统是一款精简、安全、基于微内核设计,由谷歌自主打造的面向物联网时代的全新操作系统。Google希望通过Fuchsia系统统一Android和ChromeOS,该系统最多支持4个程序在同一屏幕上同时运行(平板模式下),首页将各种故事卡片、应用程序集、系统组件等集中展示直线,有点类似多任务多标签页的做法,但是更加简洁。图片来自谷歌。据悉,Fuchsia系统不同于Android使用的Linux内核,而是使用了比较新的Zircon内核。与目前的Android相比,该系统大大降低了存储和内存等硬件要求。可见,这是一个面向物联网的家电系统。Fuchsia系统支持32位和64位ARM处理器以及64位PC处理器。Fuchsia支持多种编程语言,包括C/C++、Dart、Go、Rust和Python,此外还有一种称为FIDL的接口定义语言。据悉,Fuchsia可用于手机、电脑、智能手表、车载娱乐系统等嵌入式设备。VxWorksVxWorks诞生于1983年,由美国风河系统公司(WRS)设计开发。它是一个嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。图片来自VxWorksVxWorks之所以能够在嵌入式实时操作系统领域占有一席之地,其良好的可持续发展能力、高性能的内核和友好的用户开发环境被认为是几方面的原因。VxWorks支持现代市场上几乎所有的嵌入式CPU,包括x86系列、ARM、MIPS、LoongISA、PowerPC、FreescaleColdFire、Inteli960、SPARC、SH-4、StrongARM和xScaleCPU。VxWorks凭借其良好的可靠性和出色的实时性,被广泛应用于通信、军事、航空、航天等前沿、尖端和高实时性领域,如卫星通信、军事演习、弹道制导等和飞机导航。等待。据悉,美国的F-16、F/A-18战斗机、B-2隐形轰炸机和爱国者导弹,以及1997年7月着陆的火星探路者、2008年5月着陆的凤凰号、好奇号、2012年8月登陆的Insight和2018年登陆的Insight均采用VxWorks操作系统。WindRiver还推出了名为Tornado的实时操作系统开发环境,它类似于MicrosoftVisualC,但提供了更丰富的调试和仿真环境和工具。风河不断发展嵌入式计算,其技术成果据说已应用于超过20亿种产品。MbedOSMbedOS由ARM与其技术合作伙伴和Mbed开发人员社区合作构建。它是一个平台,一个操作系统,一套完整的物联网软件解决方案。MbedOS应用于基于32位ARMCortex-M系列芯片的物联网设备,形成了围绕MbedOS的嵌入式开源生态系统。图片来自ARM。针对不同类型、不同资源配置的物联网设备,ARM推出了两种不同的操作系统:MbedOS和MbedLinuxOS。据ARM物联网服务事业群中国区负责人陈曦介绍,2019年,MbedOS面向一些资源有限的设备,希望以简单快捷的方式满足连接、安全和应用开发的需求。MbedLinuxOS面向网关、摄像头、工控机等资源配置更丰富的设备,方便用户集中精力开发高附加值功能。MbedOS作为一款开源操作系统,已经预集成了160多种不同的芯片平台,大大降低了开发难度,缩短了开发时间。MbedOS的核心软件平台由核心贡献者和合作伙伴公司共同开发,并由mbed团队维护。在ApacheLicense2.0下,这个核心平台提供所有核心通用软件组件,加上HAL可移植性允许mbed在不同厂商的微控制器上透明运行,TOOLCHAIN可移植性允许使用不同的嵌入式工具链进行开发。MbedOS的组件数据库由各个公司和更广泛的社区开发,它为各种外围组件、传感器、无线电、协议和云服务API提供支持,这些组件也在ApacheLicense2.0或其他创始人选择Contributed许可下,也得到了这些个体公司和发达开发者社区的支持。RIOTRIOTOS的低内存占用使其更适合物联网设备,并且它不受单一公司支持,而完全由社区驱动。它的官方口号是:IfyourtinyIoTdevicecan'trunLinux,useRIOT,可见其定位。另外,在其官网上,还有这样一句话:ThefriendlyOperatingSystemfortheInternetofThings。图片来自RIOTRIOT该操作系统最初由柏林自由大学(FUBerlin)、法国国家信息与自动化研究所(INRIA)和汉堡应用科学大学(HAWHamburg)联合开发。它的内核基本继承自FireKernel,这个内核本来就是Sensornetwork开发的。RIOT基于微内核架构。与其他低内存占用系统(如TinyOS和Contiki)不同,RIOT允许使用C和C++编写应用程序,并提供完整的多线程和实时响应解决方案。RIOT可以运行在8位微控制器(如AVRATMega)、16位微控制器(如MSP430)和32位微控制器(如ARM的Cortex)上,也可以作为Linux或macOS进程运行,并且可以使用工具,如GNU编译器集合(GCC)、GNU调试器、Valgrind、Wireshark和其他标准调试工具。RIOT遵循部分POSIX标准,提供多种通信协议栈,包括IPv6、6LoWPAN和以内容为中心的网络,还支持RPL、UDP、TCP和CoAP。据AliOS-Things官方介绍,AliOSThings是一款面向物联网领域的轻量级物联网嵌入式操作系统。是阿里巴巴AliOS家族旗下面向物联网领域的高扩展物联网操作系统。图片来自AliOS官网AliOSThings致力于打造云端一体化的物联网基础设施。具备极致性能、极简开发、云集成、丰富组件、安全防护等关键能力,支持终端设备接入阿里云Link。可广泛应用于智能家居、智慧城市、新出行等领域。AliOSThings提供80+认证硬件平台和100+传感器供潜在客户选择,同时也为用户提供包括MQTT、Http/Https、Coap、LwM2M、LoRaWAN在内的多种物联网协议组件支持。据官方展示,AliOSThings已应用于智能家居、智能办公、智能厨房、空气环境等领域。TizenRTTizenRT是三星电子于2011年推出的基于Linux的操作系统,适用于移动应用和小型嵌入式系统。图片来自SamsungTizenRT旨在将Tizen平台的设备范围扩展到低端设备。Tizen已在智能电视、智能手机、可穿戴设备(GearS、GearFit)、车辆和智能家电中实现商业化。三星电子主要使用该操作系统进行物联网开发。TizenRT是一个基于RTOS的轻量级平台,使用C语言、C++和Html5作为开发语言,它适用于这些设备:它们通常配备Cortex-M/R和MPU,小于2MBRAM和小于16MBFlash处理器.典型的基于RTOS的开发环境有几个限制。首先,它不能在运行时加载其他模块。其次,它可能不如Linux环境。为了解决这些限制,TizenRT采用了Linux风格的开发环境,包括POSIXAPI、BSDSocketAPI、Shell和Kconfig构建配置。这有助于Linux开发人员轻松地在TizenRT之上构建他们的业务逻辑。TizenRT使用称为“TizenCommon”的共享基础架构来维护物联网开发的主要目的。TizenRT的开发方式使得移动运营商可以根据特定地区的人口需求定制他们的产品。
