国科大学习生活(期末复习资料、课程大作业解析、学习文档等): 文章专栏(点击跳转)
PPT报告资源也已经上传资源,大家可按需下载。
文档目录
报告所选方向:IoT操作系统
选择此方向的原因
我是一名小米产品资深用户,就在不久前,小米宣布要和公司第一款产品MIUI说再见,随即推出Xiaomi HyperOS:以人为中心,打造 [人、车、家全生态]操作系统;引发了我的思考:究竟是怎样一款操作系统,能让公司不惜放弃打磨数年的MIUI;了解后发现该操作系统是基于深度进化的Android以及自研的Vela系统融合而来,其中Xiaomi Vela是小米基于开源实时操作系统NuttX打造的物联网嵌入式软件平台,Vela在各种物联网硬件平台上提供统一的软件服务,支持丰富的组件和易用的框架,打通碎片化的物联网应用场景。得益于日常生活中使用米家产品带来的便利体验,我对万物互联、万物智联的IoT产生了兴趣,所以选择此方向作为本次报告研究对象。
引言
随着物联网(Internet of Things,简称IoT) 的迅速发展和普及,越来越多的设备和传感器被连接到互联网,构成一个庞大的物联网生态系统。要实现物联网的实时通信、数据分析和智能控制,需要可靠高效的操作系统来管理底层硬件资源和提供丰富的功能。本报告将对IoT操作系统方面的研究和发展进行汇报,分析其关键特性、挑战和未来的发展趋势。
1. IoT操作系统概述
物联网操作系统即物联网终端设备上运行的嵌入式操作系统,负责管理和控制各种硬件资源,提供通信、存储、处理和安全等功能。IoT操作系统的目标是将物联网设备与云端系统无缝连接,并提供稳定高效的运行环境。该操作系统需要具备以下特性:低功耗、实时性、资源管理和安全性。
近年来,在IoT操作系统方向上,主要的研究方向如下:
嵌入式操作系统,嵌入式操作系统是最常用的IoT操作系统,如Contiki、RIOT和TinyOS等。它们具有小巧、灵活和快速启动的特点,并通过提供硬实时功能和低功耗管理的机制来支持物联网应用。
实时操作系统,实时操作系统(RTOS)专门设计用于实时应用,可满足物联网中对任务响应时间的要求。例如,FreeRTOS和ThreadX等实时操作系统提供了丰富的实时调度算法和任务管理功能。
面向物联网的特定操作系统,一些操作系统专门针对物联网开发,例如Microsoft的Windows 10 IoT Core,微软物联网操作系统SylixOS,是一款嵌入式硬实时操作系统和Google的Android Things。它们提供了更广泛的功能,如多媒体支持、设备管理和云服务集成等。
开放源代码操作系统,开放源代码操作系统在IoT应用的开发中具有重要意义。例如,Linux操作系统提供了广泛的驱动程序和工具,为IoT应用开发者提供了灵活和可扩展的选择。
安全性和隐私保护,随着物联网规模的扩大,安全性和隐私保护成为IoT操作系统研究的重点。研究人员致力于开发具备认证、加密和访问控制机制的操作系统,以确保数据的安全性和用户隐私的保护。
2. IoT操作系统的关键特性
低功耗和节能,在物联网环境下,终端设备通常是通过电池供电,因此低功耗和节能是IoT操作系统的重要特性。合理管理设备的功耗,延长电池寿命是IoT操作系统设计的关键方面。
实时性和可靠性,物联网应用对实时性和可靠性要求较高。IoT操作系统需要提供快速的响应时间和确定性的任务调度,确保数据的及时传输和处理。
资源管理和多任务处理,IoT操作系统需要有效管理设备的各种资源,包括处理器、内存、存储和网络等。同时,它还需要支持多任务处理,实现多个任务的并发执行。
安全性和隐私保护,由于物联网涉及大量的敏感数据和隐私信息,安全性和隐私保护是IoT操作系统的重要功能。操作系统需要提供认证、加密和访问控制等安全机制,确保数据的保密性和完整性。
3. IoT操作系统的研究现状
来自麻省理工学院、斯坦福大学、耶鲁大学、加州大学伯克利分校、剑桥大学,以及国内的研究人员都对智能物联网这一前沿领域开展了系统性研究。例如,麻省理工学院研究人员对资源受限物联网终端上的深度模型压缩等技术进行了系统性研究[1]。耶鲁大学研究人员提出了边端协同高效深度推理模型[2]。斯坦福大学研究团队基于多智能体深度强化学习对智能体间的分布式协作学习能力进行了研究[3]。剑桥大学研究人员就资源受限环境下深度学习模型的轻量级自动搜索提出了新的方法[4]。香港理工大学研究人员则对车联网背景下边缘智能计算的应用进行了深入分析和探索[5]。研究成果如下:
[1] Cai H, Gan C, Wang T, et al. Once-for-all: Train one network and specialize it for efficient deployment. arXiv preprint arXiv: 1908.09791, 2019
[2] Guo P, Hu B, Hu W. Mistify: Automating {DNN} Model Porting for {On-Device} Inference at the Edge// Proceedings of the 18th USENIX Symposium on Networked Systems Design and Implementation. Virtual Event, 2021: 705-719,
[3] Gupta J K, Egorov M, Kochenderfer M. Cooperative multi-agent control using deep reinforcement learning// Proceedings of the International conference on autonomous agents and multiagent systems. Sao Paulo, Brazil, 2017: 66-83,
[4] Abdelfattah M S, Mehrotra A, Dudziak Ł, et al. Zero-cost proxies for lightweight NAS. arXiv preprint arXiv: 2101.08134, 2021
[5] Zhang J, Letaief K B. Mobile edge intelligence and computing for the internet of vehicles. Proceedings of the IEEE, 2019, 108(2): 246-261
对于国内外某些相关研究是否能和产业结合起来的问题。在过去几年中,针对AIoT操作系统的研究取得了一定的进展。以下是一些主要的研究方向和相应的操作系统解决方案:
国内外著名 IT 企业都加紧布局,在边缘智能、智能芯片、智能物联网软件平台等方面取得了很多基础性成果。
微软在2015 年正式发布了 Azure 物联网套件——Azure IoT Suite。
2021年,又进一步发布全新的边缘计算平台Azure Edge Zone 以支持实时数据处理。
2018年,阿里巴巴推出 AliOS Things物联网操作系统,提供 IoT 连接、智能处理、云边端协同计算等服务。
同年,京东发布“城市计算平台”,结合深度学习等构建时空关联模型及学习算法解决交通规划、火力发电、环境保护等城市不同场景下的智能应用问题。
2019年,华为推出了 面向物联网的华为鸿蒙操作系统HarmonyOS,是一种基于微内核、面向 5G 的全场景分布式操作系统,在传统的单设备系统能力基础上,提出了基于同一套系统能力、适配多种终端形态的分布式理念。
综上,无论是国内外产业界,智能物联网均成为新的发展趋势。
3.1 IoT操作系统的实例
Huawei LiteOS 是面向物联网领域轻量级物联网操作系统,它的内核分为两个层次 : 第一层是基础内核;第二层是扩展内核,源代码是开源的。Huawei LiteOS 提供端云协同能力,集成 LwM2M、CoAP、Mbed TLS、LwIP 等全套 IoT 协议栈,用户只需关注自身的应用,直接使用 LiteOS SDK 端云互通组件封装的 API,通过几个步骤就能简单快速地实现与云平台安全可靠连接。端云解决方案针对 NB-IOT 应用场景的应用是现阶段 Huawei LiteOS 的优势之一。
Amazon FreeRTOS是一款适用于微控制器的操作系统。通过软件库对 FreeRTOS 内核进行扩展,可以轻松地将小型低功耗设备安全连接到 AWS IoT Core等 AWS 云服务或运行 AWS IoT Greengrass 的功能更强大的边缘设备。Amazon FreeRTOS 具有轻松编程、部署和管理低功耗互联设备,广泛的硬件和技术生态系统等优势。
RT-Thread是一个集 RTOS 内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成。同时,RT-Thread 也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread 的优势为具备一个 IoT OS 平台所需的所有关键组件,如 GUI、网络协议栈、安全传输、低功耗组件等;拥有良好的软件生态,支持市面上所有主流的编译工具,如 GCC、Keil、IAR 等;支持各类标准接口,如POSIX、CMSIS、C++应用环境、Javascript执行环境等,方便开发者移植各类应用程序。
我们可以看出,上述 3 种IoT OS具备物联网系统开发所需要的基本功能,可以满足多数物联网边缘节点项目开发需求。相对Huawei LiteOS 和 RT-Thread,Amazon FreeRTOS 无论在功能上、产品成熟度和支持硬件架构上有优势。Huawei LiteOS 提供NB-IoT端云解决方案,为基于NB网络物联网产品开发提供极大便利性。RT-Thread 的特长是开发者多,开源社区在中国很活跃。
3.2 基于NuttX的Xiaomi Vela
Xiaomi Vela是小米基于开源实时操作系统NuttX打造的物联网嵌入式软件平台,Vela在各种物联网硬件平台上提供统一的软件服务,支持丰富的组件和易用的框架,打通碎片化的物联网应用场景。
3.2.1关于NuttX操作系统
NuttX是一个成熟的实时操作系统,于07年由Gregory Nutt先生正式开源,2016年被三星选为TizenRT操作系统的内核,2019年在小米的推动下正式进入Apache基金会,经过开源社区多年的不懈努力,NuttX功能丰富,性能稳定,商业化成熟度高,Fitbit最近两代的手环产品和索尼多款消费级产品都是基于NuttX开发的。
3.2.2 Xiaomi Vela选择NuttX的原因
NuttX对POSIX标准有原生兼容:NuttX是可商用化RTOS中唯一一个对POSIX API有原生支持的实时操作系统,所以很多Linux社区的开源软件可以很方便的移植到NuttX上,这样可以极大的简化开源软件移植,方便代码复用,降低学习曲线,其它RTOS需要适配层把POSIX API转成内部API,而且通常只兼容一小部分的POSIX接口。
完成度高:NuttX集成了文件系统、网络协议栈、图形库和驱动框架,减少开发成本。
模块化设计:所有组件甚至组件内部特性,都可以通过配置Kconfig来调整或关闭,可按需对系统进行裁剪,适用于不同产品形态。
代码精简:所有组件都是从头编码,专门对代码和数据做了优化设计。
轻量级:虽然NuttX实现了传统操作系统的所有功能,但是最终生成的代码尺寸还是可以很小(最小配置不到32KB,最大配置不超过256KB)。
和Linux系统的兼容性:因为NuttX整体设计、代码组织,编译过程和Linux非常接近,将会极大地降低Android/Linux开发者的迁移成本。
3.2.3 NuttX的系统架构
从纵向看,NuttX和传统操作系统一样由调度子系统、文件子系统、网络子系统、图形子系统和驱动子系统组成。从横向看,NuttX向上给应用程序提供了POSIX和ANSI定义的标准C/C++接口。对于没有标准化的组件(比如各种外设),NuttX通常会提供兼容Linux的API。向下NuttX定义了Arch API、块设备驱动接口、网卡驱动接口、display驱动接口,以及各种总线和外设的lower half驱动接口,使得芯片厂商能够规范、快速地完成移植工作。下图中数量众多的蓝色模块就是NuttX实现的各种功能。
4.研究挑战与关键技术
尽管IoT操作系统在物联网应用中发挥着重要作用,但传统物联网架构的处理和计算能力已不足以支撑物联网络的深度覆盖、海量连接、实时处理、和智能计算等需求,在终端智能及边缘计算等发展背景下,智能物联网(Artificial Intelligence of Things, AIoT,一般也表示为 AI+IoT 或人工智能物联网)作为未来物联网发展的新趋势近年来得到广泛关注。
4.1 研究挑战
硬件和资源限制:IoT设备通常具有有限的处理能力、存储容量和网络带宽。操作系统需要在这些限制下提供高效的功能和性能。
安全和隐私保护:随着物联网应用规模的扩大,安全和隐私保护变得更加重要和复杂。操作系统需要提供强大的安全机制来抵御各种威胁,并保护用户的隐私信息。
可扩展性和兼容性:由于物联网涉及大量的设备和应用,操作系统需要具备良好的可扩展性和兼容性,以适应不断变化的物联网生态系统。
4.2 关键技术–云边端协同计算
云边端协同是智能物联网体系架构的重要特征。随着万物互联时代到来,海量数据和计算需求呈爆炸式增长,边缘设备大量部署,终端处理能力增强,因此将部分计算从云端下沉到边缘和终端可有效缓解云计算负载,产生更快的服务响应。
云边协同计算,云边协同计算模式将大规模数据和复杂运算在云端集中处理,将小规模实时计算在边缘侧就近处理,从而提升数据传输性能,减少处理时延,保护数据隐私。云边协同的深度计算模式在视频实时处理、目标检测与追踪等复杂推理任务中应用较多,可分为边缘特征提取和云端深度识别两阶。此外,深度计算模型的在线重训练等人工智能学习任务的部署也都多采用云边协同计算模式,可针对实际应用环境、数据分布等变化持续更新和提升边缘模型的知识与能力。
边端协同计算,终端智能计算是智能物联网发展的一个重要趋势。针对单个智能终端计算资源不足的问题,可尝试由周边共存的多个移动、可穿戴或边缘设备等组成动态协作群。研究群智能体自组织协作高效计算模式,能根据性能需求(如时延、精度)和运行环境(如网络传输、能耗情况等),将原始任务进行自动“切分”并优选和调度合适的智能体协同完成感知计算任务. 包括基于不同深度模型分割策略的串行、并和混合协同计算模式. 此外,基于物联网中的分布式感知数据特点、边端通信及边缘服务器负载约束等实际因,需进一步研究综合性能更优的边端协调计算方法。
云边端协同性能优化,在上述技术基础上,需进一步结合复杂任务需求、部署环境和实时应用情境,探索云边端协同的高效计算任务分配、资源调度和负载平衡等方法,进一步提升和优化智能物联网系统云边端协同计算的整体效。此外,日益庞大而丰富的人工智能算法模型如何在智能物联网的云、边、端环境中进行有效部署和及时执行,且能够适应边端环境的复杂性、多样性和动态性也是一个关键的科学挑战问。
下图为云边端协同的 AIoT 体系架构:
5. IoT操作系统的未来发展趋势及研究方向
通用AIoT系统平台,随着人工智能产业的快速发展和物联网技术的不断普及,越来越多兼具人工智能属性的物联网平台与应用应运而生,其在提供智能物联服务的基础上,也覆盖了医疗、交通、工业、家居等多个领域。国内外知名 IT 企业也推出了各具特色的智能物联网平台,当前主流的智能物联网平台通常依托于现有的工业级云平台,如 AWS IoT、Azure IoT、华为云 IoT、阿里云 IoT 等。 然而,当前主流的智能物联网平台在云平台之上构建各具特色的物联网和人工智能服务,要构建具有不同领域适用性的通用 AIoT 系统平台,还需要进一步考虑以下方面内容。
现有IoT平台大多利用其云平台上自带的智能属性完成,如基于神经网络的深度学习模型、云边端算力分配的任务机。智能物联网不仅具有大规模异构感知节点、多种类通信网络并存、AI 算法的分布式部署以及领域关联多样化应用等特点,而且要面对多模态感知、泛在互联、场景动态、资源受限、实时处理、普适服务等技术挑战。为更好应对以上挑战,未来的通用 AIoT 系统平台应该能够使用人工智能和机器学习技术来使自己具备“自组织、可配置、抽象化”等特征。一方面提供软/硬件系统协同运行和优化调度的支撑环境,通过打造了一系列硬件产品为智能物联网提供底层支持,并提供相关接口以屏蔽底层细节;另一方面则支持应用系统的开发、部署与管理等功能,提供设备互联互通中心平台,以及帮助开发者快速开发应用程序的各类中间件。
在此背景下,“万物皆可互联、一切均可编程、软件定义一切”将成为智能物联网时代平台发展的主趋势,其涵盖的内容包含通用的物联网操作系统、物联网通信协议、智能物联网中间件、领域物联网应用开发支持软件等。软件定义的本质是“资源虚拟化,功能可编程”。就前者而言,物联网操作系统构成 AIoT 平台接触末端资源的触角,实现大规模异质异构泛在物联网终端的资源管理是其重要任务,例如建立开源实时操作系统提升其可靠性和易用性。就后者而言,智能物联网中间件需屏蔽异构物联网系统的技术细节,支撑 AI 算法和AIoT 应用的快速开发和灵活部署。
区块链技术可以提供分布式的信任和数据安全保障。智能物联网由于异构设备泛在连接与互操作、多模态数据融合汇聚、边端协同计算、群智能体分布式智能等特征还面临很多新的安全和隐私问题,成为通用 AIoT 系统平台需解决的一大关键挑战。区块链技术的出现为克服上述挑战带来了机遇。区块链本质上是一个分布在整个分布式系统上的分布式账本。 通过去中心化共识,区块链可以使交易在互不信任的分布式系统中发生并得到验证,而无需受信任的第三方的干预。此外,保存在区块链中的每笔交易本质上是不可变的,因为网络中的每个节点都将所有已提交的交易保存在区块链中。区块链本质上是对物联网的完美补充,具有改进的互操作性、隐私性、安全性、可靠性和可扩展性。
此外,容器化和虚拟化技术可以提供更高的资源利用率和灵活性。将这些技术应用到IoT操作系统中,可以简化部署和管理过程,提高系统的可伸缩性和可移植性。
6. 总结
本文综述了IoT操作系统的相关研究和发展。我们讨论了IoT操作系统的概述、关键特性、研究现状以及面临的挑战和问题,并重点对于云边端协同计算做了详细阐述。后文列举了IoT操作系统在实际生活中的运用,如基于NuttX的Xiaomi Vela。同时也探讨了未来发展的趋势,如建立通用AIoT系统平台,并对使用人工智能和机器学习技术来实现“自组织、可配置、抽象化”重点介绍,同时对于区块链技术可以提供分布式的信任和数据安全保障以及容器化和虚拟化技术可以提供更高的资源利用率和灵活性等做了阐述。希望可以对IoT操作系统领域的研究和实践提供了有益的参考。
参考文献
[1]郭斌,刘思聪,刘琰,李志刚,於志文 & 周兴社…智能物联网:概念、体系架构与关键技术. 计算机学报.
[2]何小庆.(2020).3种物联网操作系统分析与比较. 微纳电子与智能制造(01),65-72. doi:10.19816/j.cnki.10-1594/tn.2020.01.065.
[3]陈环 & 孙春亮.(2022).基于物联网的计算机嵌入式操作系统设计. 电子测试(14),120-122. doi:10.16520/j.cnki.1000-8519.2022.14.039.
[4]何小庆.(2019).物联网操作系统的现状与未来. 张江科技评论(03),63-65.
结语
14点26分 2023年11月29日
本报告是国科大《高级操作系统》课程期中文献阅读调研报告,我选取的方向是Xiaomi Vela物联网平台相关知识,希望对大家有所帮助。