您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [小米]:2023小米澎湃OS技术白皮书V1.0 - 发现报告

2023小米澎湃OS技术白皮书V1.0

电子设备 2023-12-27 小米 XL
报告封面

技术白皮书V1.0 序言 2023 年对于小米而言,是开启全新发展周期的一年,也是一系列的深刻变革进入深水区之时。集团正处于一个全新殿堂的门槛上,全新阶段的起跑线上。这一年我们的关键词是“稳健推进,蓄势待发”,这一年里,我们要不断夯实基础、构建强化体系能力,为未来5-10 年的长期发展打下坚实基础 ,并为未来 2-3 年的新一轮爆发做好充分的准备。 (雷军 2023/01/30) 从小米创办之初,我们就开始研发 MIUI。 可能不少朋友并不了解,MIUI 不只是基于安卓原生系统交互层改进,而是早已深入系统底层的 Linux 内核,在系统框架、性能调度、内核能力做了大量的底层“魔改”。比如在2013 年,我们推出了进程对齐唤醒机制,领先安卓半年,为保护用户隐私推出的运行时权限管理,更是领先了安卓近三年。 随着 IoT 业务率先启动,小米对嵌入式系统的研发也越发深入。为了解决 IoT 网络中设备系统的碎片化和连接隔阂,2014 年,小米就发布了 IoT 设备的连接协议。2017 年,小米自研的 Vela OS 正式发布。为了弹性适应各类智能硬件产品,Vela OS 做到了可伸缩、可裁切,支持从简单到复杂的各类设备,开始逐步统一 IoT 设备生态,目前已经装机量已达 2000 万台以上。 2016 年,小米就开始研发跨端应用框架。2019 年,我们开始并行研发纯自研通用系统Mina OS,并在部分产品上小规模量产验证,同时在实验室中也成功在手机上跑通,其中部分技术成果也已融入小米澎湃 OS。2021 年,小米开启了车机 OS 的研发。 2022 年初,我们决定统一 MIUI、Vela、Mina、车机 OS 四个系统的软件架构。自此,小米的操作系统底层合并完成。 超过 5000 人研发团队,又经过两年打磨,小米澎湃 OS 应运而生,「人车家全生态」由此开启。 (雷军 2023/10/23) 序言 小米操作系统大事记 2010 年MIUI 诞生 2014 年统一的 IoT 设备连接协议、通用 IoT 模组发布 2016 年跨端快应用框架启用 2017 年自研 Vela OS,逐步统一 IoT 设备系统 2019 年预研 Mina OS;自研微内核安全系统启动 2020 年跨端互联互通协议融合 2021 年统一技术架构设计;小米汽车 OS 启动 2022 年统一软件架构,系统研发并线完成 序言 在全球技术进步与数字化转型的驱动下,我们正在见证一个技术领域内的巨大变革。随着互联网技术的普及,物联网设备的广泛应用以及大数据与 AI 的结合,人类的生活和工作方式正发生着翻天覆地的变化。这不仅仅是一场关于技术的革命,它还在社会、经济和文化等多个领域带来了深刻的影响。 在这样的背景下,传统的、基于单一设备的计算模式显得过于陈旧,难以适应日益复杂的技术需求。现代社会的技术环境已经超越了单一设备,形成了一个由人、机器和各种物体组成的互动网络。在这种环境中,我们需要一个全新的、更为先进和全面的操作系统来进行管理。 于是,小米澎湃 OS 应运而生。它不仅要满足不同设备间的连接与管理需求,还要保证系统交互的流畅性、易用性和安全性。小米澎湃 OS 可以搭载在手机、汽车、智能家居等200 多个品类上,最终构建「人车家」一体的全生态平台。 同时,随着 AI 技术的逐步成熟,它正在改变软件的传统角色。软件不再只是一套指令,而是成为了支持和驱动各种创新应用的基础。因此,软件开发和管理的方法也需要随之变革,以适应这个新的技术环境。 面对这一系列的挑战,小米集团站在了最前端,决心为社会提供最前沿的技术解决方案。小米软件团队在技术研究上投入了大量的资源,他们的研究范围涵盖了从系统内核、系统服务、跨端互融、开发生态的各个方面。 在这个既充满机遇又充满挑战的技术趋势下,我们需要不断地创新和进步。而小米澎湃OS 无疑是小米在这个万物互联的时代,为用户和开发者提供的一份最优质的答案。 2技术架构 2.1技术架构简介 我们正式公布了小米澎湃 OS 完整系统架构。 这个架构图背后,凝聚着小米创业 13 年来,数千名工程师研发探索的心血。从 2010 年MIUI 诞生起,小米在 OS 方面的研发探索,覆盖了手机操作系统、嵌入式操作系统、纯自研通用操作系统、车机系统等全部领域,最终在小米澎湃 OS 上并线合流,如今拥有一支 5000 多名工程师的操作系统研发团队。可以说,小米的创业史,就是一段操作系统研发的探索史。 小米澎湃 OS 是一个超级庞大的工程体系。从架构设计之初,我们就明确了四个目标:第一,实现单端性能表现最强 ;第二,AI 赋能,成为整个生态的“智能大脑”,能够为用户提供主动服务;第三,更加便捷高效的连接;第四,实现全端隐私安全坚固防护。 在最底层的系统内核层,我们将自研的 Vela 系统内核与深度修改的 Linux 系统内核进行融合,重构了性能调度、任务管理、内存管理、文件管理等各个基础模块,实现了性能、效率的大幅提升。这一全新的融合内核,支持 200 多个处理器平台、20 多种文件系统,还能根据硬件能力差异灵活配置,具有很好的兼容性,使得每个独立设备的性能都能得到彻底解放。 在系统内核层之上的服务与框架层,我们将安卓的服务框架和自研 Vela 系统的服务框架,都作为“中间件”纳入其中;同时,全新打造了 8 大子系统,其中全新的 AI 子系统融合大模型能力,成为整个系统的“智能大脑”,不仅可以让单设备实现极强的端侧 AI 能力,同时赋予整个生态智能能力。 最上层 HyperConnect 跨端层,则是彻底打破了硬件设备的隔阂,让所有设备可以统一连接协议,并且实时通信。让整个小米澎湃 OS 生态打通“任督二脉”,每个设备如同感知世界的触角,像一张巨大的网一样连接一起,最终构建「人车家全生态」的智能世界。特别值得一提的是,这次我们打造了贯穿内核层、服务框架层、跨端层的全端安全系统,尤其是内核层,我们启用了完全独立的「自研微内核安全系统」,保障了安全从最底层实现。 (雷军 2023/10/23) 小米澎湃 OS 是一个为下一代的计算与多种设备生态设计的系统。主要针对以下关键挑战提供了解决方案: •设备多样性 °在当前的数字世界中,各种操作系统和技术标准使设备高度分散。小米澎湃 OS旨在提供一个一致性的平台,使从手机到 IoT 设备的所有设备能更好地统一与集成。 •设备间的交互 °大多数传统操作系统并未为多设备互动进行设计。而小米澎湃 OS 注重设备间的流畅交互,以确保高效的跨设备合作。 •开发流程的简化 °通过小米澎湃 OS,开发者能为不同设备编写统一的代码,消除了开发跨设备应用的复杂性。 •增强安全保障 °小米澎湃 OS 打造高安全的 TEE OS(EAL 5+)和其他安全特性,以减少潜在风险并提高系统整体的安全水平。 •高效的性能调配 °小米澎湃 OS 在设计时就已考虑到各类设备的性能和资源需求,尤其是在资源有限的场景中。 •鼓励生态发展 °为了吸引更多的开发者参与并促进生态的建设,小米澎湃 OS 的核心组件选择了开源的道路。 小米澎湃 OS 针对设备的多样性、设备间的交互、开发流程、系统安全、性能调配和生态发展等挑战提供了综合的解决方案。 2.2技术架构图 2.3核心组件 内核层 •Linux 内核:融合内核的标准化组件集,适用重载硬件资源的抽象与管理。•Vela 内核:融合内核的轻量化组件集,适用轻量硬件资源的抽象与管理。 系统服务层: •资源调度子系统:负责合理、高效地分配和管理系统资源,以确保应用和任务能够流畅运行。•网络子系统:旨在支持多设备、分布式、安全和高性能的网络通信,以满足不同设备和应用场景的通信需求。 •多媒体子系统:提供了处理多媒体内容(如音频、视频和图像)以及与多媒体硬件交互的功能和服务。•图形子系统:负责管理和控制图形显示以及用户界面(UI)渲染,高性能和响应性的用户界面。•硬件服务子系统:负责管理和控制硬件资源以及提供硬件访问和互动的功能和服务,提供一致的硬件访问接口。•AI 子系统:集成人工智能(AI)和机器学习(ML)技术,以提供更丰富、更智能、更个性化的体验。•安全子系统:满足不同设备和应用场景的安全需求而设计,提供全面的安全性和隐私保护,确保用户设备和数据的安全。•编译器与运行时:提供跨设备统一的编译器与运行时,确保应用的运行性能,同时保障跨端运行的安全性。 跨端层: •分布式子系统:支持多设备之间的协同工作和数据共享,以提供无缝的分布式计算和体验,从而提高用户体验和便利性。•跨端服务框架子系统:为应用程序提供一套丰富的服务和工具,以增强应用程序的功能和性能,提供了一个多元化的应用程序服务平台。•跨端公共能力子系统:提供了标准化的开发工具和库,以支持开发者构建各种应用程序和服务,有助于提高应用程序的可移植性和一致性,使开发者能够更轻松地开发和维护跨平台的应用程序。•跨端应用框架子系统:提供一种轻量级的应用程序模型,旨在提供更快、更流畅的应用体验,并减少了应用程序的安装和占用存储空间的需求。•跨端安全子系统:专注于提供安全性和隐私保护,以确保跨不同端设备之间的通信和数据共享的安全性。 开发者服务: •开发平台:开发平台是一套工具和资源,旨在帮助开发者创建应用程序和服务,以运行在小米澎湃 OS 操作系统上。•分发体系:小米澎湃 OS 的分发体系是一个多层次的策略,旨在将该操作系统部署到各种不同类型的设备上,提供多样性的应用程序和服务,以满足不同市场和用户需求。 3跨端层(HyperConnect) 3.1 分布式子系统 3.1.1子系统简介 分布式子系统是通过近场通信的跨设备互联协议,在跨平台基础互联的基础上构建跨端分布式服务框架。通过核心服务的分布式能力实现应用生态融合,影音互联,文件系统,硬件协同,硬件控制等领域的纵向和横向扩展,并且为上层应用提供基础的安全通信和同账号系统服务,助力跨设备功能的持续演进。 3.1.3重点特性 3.1.3.1跨设备总线 技术介绍 跨设备总线提供面向多设备互联、跨平台、面向异构网络的广播、发现、连接、传输能力。 •广播:提供统一的广播发送功能,支持自定义广播,协议兼容。•发现:提供统一的、可复用的发现功能。•连接:提供统一的基于服务驱动的经典蓝牙,低功耗蓝牙,局域网,点对点等连接通信能力,支持多端连接、通道复用。•传输:提供面向服务的信息交换传输通道。 技术架构 关键技术 1.智能自组网 自组网可实现周边设备和服务的自动感知、同步,实现安全认证和加密传输,简化业务开发难度,提高接入效率。提供多端统一开发模式 , 极大的简化接入业务的复杂度,并降低了系统的开销。 优势:低功耗、动态的发现策略;服务发现到设备发现;虚实连接结合的组网管理。 •快速发现,稳定连接,跨设备可信互联 •设备靠近自感知 采用多种融合技术,包括 BLE、局域网广播、局域网组网等机制,快速发现周边可信设备。 •组网策略自调节 感觉环境事件、用户事件动态调节自感知技术的参数,使得功耗、性能均衡,无需业务感知就能实现快速的组网。 •拓扑与信息自维护自适应 自动维护设备的拓扑关系、设备的能力信息、以及设备的环境信息,并以极低的开销实现资源的快速同步。 •运行时机自调度 基于自组网的业务,可定义业务激活条件,条件满足后,才拉起激活业务,避免业务必须常驻才能实现业务。 •多链路动态复用 结合多种通信技术,决策最优媒介类型,快速建立链接,提升互联体验。 2.一对多消息分发协议 •一对多消息分发机制支持应用自定义的 Topic 主题进行消息订阅和发布,根据应用发布的数据大小自动选择链路并自动完成连接和传输的过程,为应用提供安全、快速、稳定的传输通道。 •智能决策 根据设备间组网的状态、设备数量、设备状态、网络状态、消息的大小自选择合适的链路送达对端设备。 •稳定可