快科技11月27日消息,新一代奥迪Q5L的国产版测试车谍照曝光,预计该车将于20...
喜欢就 关注我们吧!
出品 | OSCHINA
文 | 局长
谷歌发布博客称 AOSP (Android Open Source Project) 现已支持使用 Rust 开发 Android 操作系统。
谷歌表示,Android 大约 70% 的高危安全漏洞由内存安全问题造成。顺便一提,微软和 Chrome 宣布采用 Rust 解决内存问题时也提到了「70% 的安全漏洞是内存安全问题」这个说法(分别查看微软 、Chrome 的公告)。这是什么定律?
对于这些内存安全问题,谷歌表示除了优化内存错误检测机制外,最有效的解决办法是采用内存安全语言。虽然 Kotlin 和 Java 也属于内存安全语言,同样是为易用性、可移植性和安全性而设计,它们是开发 Android 应用的最佳选择,但对于操作系统的底层而言,不能选择 Kotlin 和 Java。
操作系统底层开发需要使用系统级编程语言,例如 C、C++ 和 Rust,这类语言支持访问底层系统资源和硬件。对于 C 和 C++ 来说,开发者负责管理内存生命周期,但管理内存时因多线程代码库的复杂性很容易导致他们犯错。
Rust 则可以利用编译时检查(确保对象的生命周期和所有权)和运行时检查(确保内存访问有效)来保证内存安全,并且 Rust 在实现这种安全性的同时,还提供了与 C 和 C++ 相当的性能。
谷歌表示,引入新的编程语言并不能解决现有 C/C++ 代码中的错误。即便重新调动 Android 团队中每个软件工程师参与开发,重写几千万行代码并不可行。因此,Rust 主要用于新的开发而不是重写成熟的 C/C++ 代码。
更具体的原因是,谷歌对内存安全错误存在的时长进行了分析,发现大多数内存安全错误都发生在新的或最近修改的代码中,其中大约 50% 只出现了不到一年,这些错误后面会逐渐修复,也就意味着旧代码并不是迫切需要改进的地方。
无论如何,向 Android 平台添加新的开发语言支持是一项大工程。比如需要维护工具链和依赖关系、更新测试基础设施和工具、以及对开发者进行培训等。谷歌表示,在过去的 18 个月里,他们一直在为 AOSP 添加 Rust 支持,并计划在接下来的几个月内共享部分早期使用 Rust 开发的项目。此外,谷歌还计划将 Rust 扩展到更多系统,这将是一个长期计划。
14.8K Star,一款网友高赞的深度学习框架,体验超好,相见恨晚! 2021-04-08
IntelliJ IDEA 2021.1发布,启动界面亮眼 2021-04-08
微软终于对JDK下手了! 2021-04-07
觉得不错,请点个在看呀
想查看更多微信群的小伙伴, 可以点击上面导航栏的微信群 或者下面按钮!
点我查看更多微信群
分享
快科技11月27日消息,新一代奥迪Q5L的国产版测试车谍照曝光,预计该车将于20...
为进一步推进商业信用体系建设,促进企业诚实守信经营,面...
本文转自:人民日报邱超奕《 人民日报 》( 2024年11月27日 第 17 版...
快科技11月26日消息,中国汽车流通协会副秘书长郎学红预测,今年将有约4000家...
本文转自:人民网11月26日,第二届中国国际供应链促进博览会(以下简称“链博会”...
浙江西子联合控股董事长王水福时常把一句话挂在嘴边——“高端路上很辛苦,高端路上不...