写点什么

vivo 猛练操作系统“内功”,用 Rust 完成全栈自研

  • 2024-10-11
    北京
  • 本文字数:4304 字

    阅读完需:约 14 分钟

大小:2.10M时长:12:15
vivo 猛练操作系统“内功”,用 Rust 完成全栈自研

九月,Sam Altman 发布长文称,超级智能将在数千天内实现,而每个人都将有一个属于自己的 AI 团队。


这一判断呈现出几个关键信息:当下的 AI 能力仍然不是最终形态,但支撑未来 AI 的“内功”,要在未来几年内练好,以迎接超级智能落地。而这套“内功”需要在交互层面做出革新,因为届时将有数个 AI Agent 接入,形式不同于传统的人机交互。


考虑到生成式 AI 的快速发展,安全性也须多加注意,用 Sam Altman 的话说,是“最小化其危害”。

这一判断,实际上与 vivo 最近一年多在操作系统层面的动作不谋而合——vivo 关注“内功层面”的修炼很久了。蓝河内核及蓝河操作系统 2 的发布,在内存安全、智慧交互等方面做足了文章。



安全这事儿,没啥捷径


对于 2024 VDC 的发布而言,用 Rust 语言完成蓝河内核自研,最为吸引眼球。C/C++ 在内存安全方面的设计,长期以来饱受诟病,而近几年与之相关的安全事件频发,实在是有些骇人。


7 月,CrowdStrike 作为全球最负盛名的安全公司之一,却引发了一场全球性的安全事故——未通过基本 DevOps 流程的代码,被人为地进行全量发布。


此前的 WannaCry、NotPetya 等事件,都是以内存为攻击对象。因为 C 语言不支持原生垃圾回收机制,所以尽管经过了多年的锤炼,还是留下了很多隐患。


反观 Rust,在堆栈保护上更加完善,且不支持操作原始指针,从根儿上绝了许多网络攻击的路。

但是否要因此用 Rust 编写完整的操作系统内核呢?对于 vivo 来说,是的。



一方面,手机厂商自研操作系统,几乎成为大势所趋,使用 Rust 来自研,并没有战略上的分歧,只是具体的技术路线抉择。蓝河操作系统完成全栈自研,几乎是一个信号——没有自研操作系统,也就无法围绕 AI 深度定制智能体验,等于放弃了去往 AI 时代的“船票”。


另一方面,vivo 几乎是最看重 Rust 语言的手机厂商。2023 年年底,vivo 就在开发者大会上官宣成为行业首家用 Rust 编写系统框架的企业,但还没有发布自研操作系统内核。因此在实际的代码中,少不了带着“unsafe”关键字的 Rust 函数(unsafe:绕过 Rust 安全机制禁止的操作)。某种程度上,这更像个研发进度问题——继续使用 Rust 完成内核自研,几乎是必然的。


此外,Rust 在技术社区内,几乎是默认的 C/C++ 上位替代语言。据 InfoQ 此前报道,软件工程师 Alex Gaynor 在社区内强调,“数据已经一再证明,当项目使用内存不安全语言(例如 C 和 C++)时,就会受到大量安全漏洞的困扰。”


而微软 Azure 首席技术官 Mark Russinovich 则直接呼吁开发人员弃用 C 和 C++,转投 Rust 的怀抱。

总结下来,用 Rust 编写底层代码,是在规避现有内核天然的安全隐患时,最为彻底且有效的方式。尽管考虑到资源投入,这事看起来不太轻松。


如果单纯的是开发成本受限,拥抱 Rust 这事儿还没那么难以接受。最让 CTO 们叹气的是,Rust 的人才缺口太大了。


Rust 是新晋的热门语言,本身生态还处于发展早期。此外,Rust 以学习难度高而著称,比如其“享誉”开发者圈的“所有权系统”。望而却步的程序员太多,社区的整体活跃度就较低,参考资料也少,对新人更加不友好。受此影响,一份来自 Rust 中文社区的职位调查报告显示,海外 Rust 招聘,以高级、中级岗位为主,面向初级岗位的招聘相当少见。


vivo 的策略是,重点投入开源。


VDC 发布会上,vivo 副总裁周围正式宣布,vivo 将对基于 Rust 语言编写的蓝河实时内核进行开源。这意味着国内开发者社区,自此多了一个可参考性更强、更完整的 Rust 项目,是难得学习机会。


vivo 和开放原子开源基金会的合作也很深入,尤其是在赛事上的合作——vivo 自 2023 年起,已经连续两届参加开放原子大赛。


开放原子大赛是由开放原子开源基金会组织举办的开源技术领域专业赛事,2024 年的第二届开放原子大赛,在 2024 开放原子开源生态大会上,由工业和信息化部总经济师、办公厅主任高东升,中国工程院院士倪光南,开放原子开源基金会理事长程晓明,中国石油股份有限公司副总地质师兼勘探开发研究院党委书记李国欣,重庆市经济和信息化委员会党组成员、副主任吴涛,中国科学院软件研究所副所长武延军,以及来自 vivo、华为、腾讯、浪潮、软通动力等共建方代表,共同揭幕。


第二届开放原子大赛特别设置了奖金最高、难度最大的巅峰挑战赛,仅包含两道赛题,而其中之一就是 vivo 发起的《vivo 蓝河操作系统创新赛-C/C++与 Rust 生态互通工具自动化解决方案》,奖金池高达一百万元。同时,vivo 还在 2024 VDC 大会上宣布了将携手开放原子开源基金会,致力于把蓝河操作系统创新赛打造成为行业内最具含金量和影响力的 Rust 顶尖赛事(感兴趣的开发者可在文末了解)。



交互能力,是个重点


vivo 内功的第二个“修炼重点”,在于智慧交互。


自生成式 AI 爆发,将近两年时间件过去了,像 perplexity 般的应用仍然很稀有,且和现有的智能硬件融合困难,基本谈不上有什么化学反应。


其中一个根本在于,生成式 AI 的能力目前仅在 Web 或 App 端有所体现,极少得到系统级的集成。因此受限于交互形式,没有对产品体验做出根本性变化。


当下市场的大部分产品,尚处于与 AI 智能体交互的早期阶段,需要根据不同的应用场景,唤起不同的终端应用。vivo 在交互上的理念是,保证 AI 的启动享有最高优先级,能够全界面一步调起智能体助手,使之享有全域零层级。在输入实现多层级输入方式,在最终的反馈上,给与用户清晰的所见即所得。


为此,vivo 十分关注基于蓝河操作系统提供服务时,大模型的推理的连续性,也就是所谓模型的记忆力。vivo 在蓝河操作系统中,为此构建了一个独立进程的数据管理服务,集中管理用户各类数据,为感知服务和搜索功能提供数据来源。


这也意味着蓝河操作系统 2 实现了所谓的“全域智能”。



全域智能是个大话题,最早起源于物联网领域,核心是全场景、全平台的实时智能连接。而放到移动设备上,尤其是手机、手表、pad 等设备,还要对 AI 的主动调起和被动调起做区分。


智能终端设备,长期以来,一直向“个人助理”的角色靠拢,比如手机是通信和资讯助理,手环是个人健康助理。但这种靠拢的价值十分有限——人的需求很多时候是藏在水面下的。传统设备没有认知智能,所以无法先用户一步,发现其需求,全部的体验都依赖用户的主动调起,几乎不存在被动调起。


真正意义上的被动调起,在生成式 AI 崛起后成为可能,按时下流行的说法,叫做“意图框架”。“意图框架”的设计目标是先用户一步,发现需求,调起 AI 和一些快应用,服务用户的便捷生活。


可以看出,vivo 的意图框架,关键在于数据输入和多端协同。


蓝河操作系统支持的数据输入是多模态的,包含常见的文字、语音、图片。以及移动设备独有的拖曳、长按等物理操作。输入入口则把智能助手、负一屏、搜索、桌面等模块都包括在内,基本适配了 vivo 目前旗下终端设备的全部场景。


应该说,这套方案未来的想象空间很大,如果能横跨各厂商形成统一的行业标准,可能会井喷式的爆发“Killer APP”。


至于 vivo 自己,则是在手表这一产品上,做了大胆的尝试。


vivo 造手表,核心是 AI


前面无论是安全问题,还是连接问题,回归到本源,实际都是为未来的交互变革做好铺垫。


而率先在手表上发力,多少有些“秀肌肉”的成分在里面。


首先手表的算力弱于手机,对蓝河大模型的预训练质量、模型蒸馏情况,都提出了比较高的要求;此外手表覆盖的场景其实更加丰富,除了日常 APP 的使用,还需要考虑各类运动场景。



本次 vivo 推出了首款搭载蓝河操作系统的手表 vivo WATCH 3 ,在此基础上又推出全新 vivo WATCH GT 系列手表。主打功能就是蓝心小 V 语音助手,以及与 AIGC 相关的各类便携式功能。


蓝心小 V 语音助手可以提供个性化的垂类问答、本地技能、健康百科知识以及智能教练的问答能力。其目的是让用户可以随时随地获取健康方面的知识,也可以对自身的健康数据进行查询和获得更有针对性的健康建议,让智能手表不仅局限于时间和通讯,也兼备了健康管理功能。


在健康管理方面,vivo WATCH 3 集成的 AI 运动教练与手机内集成的版本是联通的,给用户提供私教式的使用体验。它可以监测用户的运动状态,并进行运动计划的个性化定制和指导,使得用户能够更科学、更有效地进行健身锻炼。


AI 运动教练能够为用户量身定制专业的运动计划,根据用户个人的身体情况和健身目标,提供相应的运动课程,并允许用户根据需要创建、调整、查询或退出运动计划。


在运动中,AI 运动教练可以感知用户的身体情况,向用户提供实时的语音指导,并播报专业的运动建议,帮助用户更好地进行运动锻炼。同时,AI 运动教练还可以进行动作要点的讲解,使用户能够更深入地理解如何正确进行运动动作。


如果 AI 运动教练和手表的硬件功能结合度够好,对于几年前流行的健身魔镜类产品,甚至会成为“降维打击”。


至于 AIGC 类的功能,主要是 AI 表盘编辑、AI 速记等。比如用户对说蓝心小 V 说,生成长城表盘,蓝心小 V 就会直接跳转到 AI 表盘工坊,并进行生成。


生成后的 AI 表盘支持编辑能力,保留支持布局调整,更换表盘颜色,增加部件等选项。


而 AI 速记,对于文字类工作者,或经常参加会议的同学而言非常友好。记录后的内容,会自动同步到 OriginOS 的原子笔记中,进行 AI 处理,如润色,简化,总结,或者生成格式化的文案。


头部厂商的历史任务,是生态


无论是内存安全、智慧交互,还是在智能手表上的实践,都意味着 vivo 的护城河之一是落在生态上。英伟达过去 20 余年的成功,给了国内企业太多的启发。


这里的生态,不仅包括以蓝河为基础的国产操作系统开发生态,也包括企业间合作。



对于前者,蓝河操作系统开放了 12 大模块的系统能力,并以两套 API 开放给开发者。此外还提供了蓝河开发套件,包含蓝河 Studio、设计师工具、蓝河 SDK、开发者网站等开发工具。这其中也包含开放智能体平台——让人人可自定义专属智能体应用,系统分发将三方应用、三方服务、快应用和智能体连接在一起,实现服务快速分发和流量变现。尤其是对个人开发者来说,这是个重大利好。


至于后者,蓝河操作系统开放了 Native 开发框架,并从 0 到 1 搭建了基于 canvas 的渲染引擎,实现地图瓦片渲染能力。同时提供了完整的底层系统能力接口,和百度地图一起接入 Native 开发框架,在手表端升级了在线地图导航能力。


在汽车出行方向,蓝河操作系统和多家车企达成合作,包括零跑汽车、比亚迪汽车、宝马汽车、特斯拉汽车等车企都已接入蓝河生态。车企可以基于蓝河操作系统开放的 BlueXlink 互联技术的支持,构建智能控车方案,包含 NFC 控车、蓝牙控车、云控车等方案,更适应未来的购车需求。


随着时间的推移,类似的合作只会越来越多,从前国产操作系统在办公软件、设备驱动等兼容性方面的尴尬,已经成为历史。


对于国内的开发者而言,我们只需耐心等待头部厂商的生态圈,开花结果。



2024-10-11 18:2410052

评论

发布
暂无评论
发现更多内容

混沌工程,了解一下

华为云开发者联盟

云计算 测试 后端 混沌工程 华为云

好用的人事管理软件有哪些?人事管理系统软件排名!

优秀

企业管理软件 OA管理系统

基于微信小程序的婚纱影楼小程序开发笔记

CC同学

小程序

JDBC 在性能测试中的应用

阿里巴巴云原生

阿里云 云原生 JDBC 压测

为什么你的数据图谱分析图上只显示一个值?

清林情报分析师

数据分析 可视化 知识图谱 三元组 情报分析

Python 设计模式:适配器模式

宇宙之一粟

设计模式 适配器模式 6月月更

如何轻松快速构建区块链应用?技术大牛带来一线技术实践分享

腾源会

八大误区,逐个击破(终篇):云难以扩展、定制性差,还会让管理员失去控制权?

龙智—DevSecOps解决方案

Atlassian 云版 版本选择 迁移上云

在宇宙的眼眸下,如何正确地关心东数西算?

脑极体

理论+案例,带你掌握Angular依赖注入模式的应用

华为云开发者联盟

程序员 前端 华为云

墨天轮访谈 | IvorySQL王志斌—IvorySQL,一个基于PostgreSQL的兼容Oracle的开源数据库

墨天轮

数据库 oracle postgresql 开源

vue快速学习、基础用法

开发微hkkf5566

SAVE: 软件分析验证和测试平台

华为云开发者联盟

云计算 测试 后端 开发 软件分析

区块哈希竞猜游戏系统开发(dapp)

薇電13242772558

哈希值

如何通过7个步骤编写出色的在线用户手册

小炮

如何使用物联网低代码平台进行流程管理?

AIRIOT

低代码 物联网,

基于 ShardingSphere 的得物数据库中间件平台“彩虹桥”演进之路

SphereEx

数据库 中间件 ShardingSphere 实践

如何利用数仓创建时序表

华为云开发者联盟

数据库 后端 华为云 时序表

准备好迁移上云了?请收下这份迁移步骤清单

龙智—DevSecOps解决方案

迁移计划 迁移上云计划 迁移上云步骤 上云步骤清单 云迁移策略

应用实践 | Apache Doris 整合 Iceberg + Flink CDC 构建实时湖仓一体的联邦查询分析架构

SelectDB

数据库 flink Doris iceberg

火线沙龙第26期-多云安全专场

腾源会

直播分享| 腾讯云 MongoDB 智能诊断及性能优化实践

MongoDB中文社区

mongodb

活动报名 | MongoDB 5.0 时序存储特性介绍

MongoDB中文社区

mongodb

直播回顾 | 云原生混部系统 Koordinator 架构详解(附完整PPT)

阿里巴巴云原生

阿里云 架构 云原生 混部 Koordinator

学C++还是学Java?做软件研发还需掌握哪些知识和技能?

dvlinker

Java c++ 数据库 网络知识 汇编代码

解读2022年度敏捷教练行业现状报告

华为云开发者联盟

后端 开发 华为云

力扣每日一练之字符串Day6

京与旧铺

6月月更

盘点四种WiFi加密标准:WEP、WPA、WPA2、WPA3

wljslmz

wifi 6月月更 无线安全 wpa3 wep

脚本之美│VBS 入门交互实战

Windows Server 6月月更 VBS 脚本之美

游戏资产复用:更快找到所需游戏资产的新方法

龙智—DevSecOps解决方案

游戏开发 游戏资产 艾尔登法环 游戏资产复用

Helix QAC更新至2022.1版本,将持续提供高标准合规覆盖率

龙智—DevSecOps解决方案

C语言 静态代码分析 Helix QAC 代码合规率 代码合规

vivo 猛练操作系统“内功”,用 Rust 完成全栈自研_操作系统_王一鹏_InfoQ精选文章