后 已经发生的事件 在 Linux 内核开发者社区中,由于关于将 Rust 引入内核的讨论, 不同的开发商 他们已经表明了他们的 方向定位 该项目正在进行中。
格雷格·克鲁亚·哈特曼著名的 Linux 内核稳定分支维护者站出来为 Rust 辩护, 已表示支持使用 Rust 语言 新核心部件的开发。
格雷格 提到 在过去的15年中, 一直是主要信息来源之一 关于内核中的错误和漏洞,并声称其中许多问题源于 C 语言中未记录的怪癖。相比之下,Rust 完全消除了这些歧义,代表了稳定性和安全性方面的重大进步。
Rust 在内核中的优势
对于格雷格 UNO 主要优势 将 Rust 集成到内核开发中 消除常见的内存管理错误。访问释放的内存、部分缓冲区溢出、执行失败后资源的错误释放以及返回代码中跳过验证等问题将大大减少。这些改进将使内核维护人员能够专注于更相关的问题,例如竞争条件和逻辑问题,而不是浪费时间修复可避免的错误。
现有的 C 代码不会被替换, 但有可能 用 Rust 编写新的控制器和子系统将有助于提高质量 未来的软件。此外,使用这种语言 将允许重组内核的内部 API,使其更易于理解和安全,通过确保其正确使用,将大大减轻维护人员的负担。随着 Rust 中包装器的发展,内核设计可以得到优化,让 Rust 开发人员和继续使用 C 的开发人员都受益。
格雷格·克鲁亚·哈特曼 明确指出 Rust 并不是一个神奇的解决方案 这将解决所有内核问题, 但它是一种很有价值的工具 这将改善发展的诸多方面。还 指出 该 核心内部使用多种语言并不代表难以逾越的障碍。 Linux 开发者社区过去已经解决过更为复杂的挑战,而 Rust 的加入只是朝着长期加强项目迈出的又一步。
Kees Cook 加入了此讨论,前 kernel.org 首席系统管理员和 Ubuntu 安全团队负责人。 库克强调,目的不是重写代码 存在于 Rust 中, 但提供使用它来开发新组件的选项。这种策略不仅可以减少内存错误的数量,还可以加快开发过程,因为 Rust 可以在软件进入测试阶段之前,在编码过程的早期阶段检测到错误。
它 提到这一策略的可行性已经得到证明 此前由 Google 提供 在Android上。 新代码已被证明是安全问题的主要来源,因此从一开始就提高其质量是当务之急。实际上, 据观察,旧代码的漏洞密度较低 随着时间的推移。例如,五年前编写的代码与最近的代码相比,安全漏洞平均减少 3.4 倍。
因此,Rust 集成到 Linux 内核被认为是提高安全性、开发效率和系统稳定性的一项重要进步。这并不是 C 代码的替代品,而是一种进化,以便将来可以编写更安全、更可靠的软件。
最后,如果您有兴趣了解更多,可以查阅详情 以下链接。