华人澳洲中文论坛

谷歌的安卓13大幅度从C/C++迁徙到Rust

[复制链接]

2022-12-2 18:19:52 71 0

从Android 十二起,谷歌宣告在Android平台中反对Rust编程言语,作为C/C++的内存平安代替言语。
谷歌的指标不是将现有的C/C++转换为Rust,而是跟着时间的推移将新代码的开发转移到内存平安的言语。
Android 13 是第一个添加到版本中的大部份新代码都采取内存平安言语的 Android 版本。
Rust 不是Android 中独一使用的内存平安言语(Java 和 Kotlin 也算在内),但它是一个次要的言语。
在Android 13中,约21%的新原生代码(C/C++/Rust)使用Rust。Android开源名目(AOSP)中总共有大约150万行Rust代码,波及新的功用和组件,如Keystore 2、新的超宽带(UWB)堆栈、DNS-over-HTTP 3、Android的虚构化框架(AVF)和各种其余组件及其开源依赖项。这些是需求零碎言语的低级组件,不然这些零碎言语将以C++完成。
到目前为止,Android的Rust代码中没有发现内存平安破绽。
咱们不但愿这个数字永久为零,但斟酌到两个Android版本中新Rust代码的数量,以及使用它的平安敏感组件,这是一个首要的后果。它标明Rust正在完成其避免Android最多见破绽来源的预期目的。在许多Android的C/C++组件(例如媒体、蓝牙、NFC等)中,历史破绽密度大于1/kLOC(每千行代码1个破绽)。按照这一历史破绽密度,使用Rust可能曾经禁止了数百个破绽进入出产环境。
从C/C++迁徙是一项应战,但咱们正在取得停顿。Rust在Android平台上的使用正在增长,但这并非故事的完结。为了完成在Android规模内进步平安性、不乱性和品质的指标,咱们需求可以在需求当地代码的代码库中的任何中央使用Rust。咱们正在Rust中完成用户空间HAL。咱们正在添加对受信赖运用顺序中Rust的反对。咱们已将Android虚构化框架中的虚构机固件迁徙到Rust。跟着Linux 6.1对Rust登陆的反对,咱们很快乐能将内存平安性引入内核,从内核驱动顺序开始。
咱们在Java中看到的破绽类型次要是逻辑过错,如上所述,重大性通常较低。接上去,咱们将探究Rust更丰硕的类型零碎如何帮忙避免常见类型的逻辑过错。
跟着Android从C/C++迁徙到Java/Kotlin/Rust,咱们预计内存平安破绽的数量将持续降落。为Android上内存毁坏过错稀有的将来干杯!
更多信息:谷歌的安卓13大幅度从C/C++迁徙到Rust

发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

:
中级会员
:
论坛短信
:
未填写
:
未填写
:
未填写

主题37

帖子45

积分203

图文推荐

  • 撞穿学校栅栏害死十一岁男孩的司机不必坐牢

    一位女司机撞穿学校栅栏、害死了11岁男孩,被罚20

  • 全科医生正告花粉症时节正在好转

    全国各地的全科医生正告春季的开端标记着花粉症时

  • 新西兰总理:出世在新西兰的新纳粹Thomas S

    新西兰总理拉克森称新纳粹Thomas Sewell是坏人,

  • 新州护士和助产士承受暂时加薪3%的前提

    新州护士和助产士投票承受政府提出的暂时加薪3%以

  • 新纳粹份子如何利用“普通父母”的掩护在反

    星期天,新纳粹份子在反移民集会开端前大约一个小