前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2022-08-06 使用 Rust 编写 FreeBSD 内核模块

【Rust日报】2022-08-06 使用 Rust 编写 FreeBSD 内核模块

作者头像
MikeLoveRust
发布2022-11-28 15:04:23
3970
发布2022-11-28 15:04:23
举报

使用 Rust 编写 FreeBSD 内核模块

目前主流的操作系统内核都是用 C/C++ 编写的,这些语言在避免常见的安全问题方面捉襟见肘。Rust 等现代语言默认提供更好的安全保证,并防止许多常见的内存安全漏洞。

在这篇文章中,我们将简要介绍 Rust 为实现这一安全目标所做的努力,并为 FreeBSD 构建一个基本的 Hello World 概念验证内核模块。

ReadMore: https://research.nccgroup.com/2022/08/31/writing-freebsd-kernel-modules-in-rust/

模式匹配兼容性策略

当使用枚举定义不同类型的数据时会非常方便,但是作为库的作者需要考虑的更多一点,比如 enum 字段拓展后的兼容性问题。假设开始的定义为:

代码语言:javascript
复制
enum Version {
    Http10,
    Http11,
}

而后增加了 Http2

代码语言:javascript
复制
enum Version {
    Http10,
    Http11,
    Http2,
}

如何编写库代码才能用使用者感知到这个变化而不产生 breaking change 呢,这里作者结合自己编写库的经验给出了三个场景下的解决方案。分别是:

  • Non-exhaustive enums
  • Translating typical Error inheritance
  • Enums with an “open-ended” variant

ReadMore: https://seanmonstar.com/post/693574545047683072/pattern-matching-and-backwards-compatibility

学习使用 Rust 迭代器和组合子

Rust 的迭代器搭配组合器非常有趣,可以让你的代码更简洁、更实用。这篇文档侧重于如何借助迭代器使您的代码更易于阅读或重构。

ReadMore: https://kerkour.com/rust-combinators

From 日报小组 Koalr

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 Rust 编写 FreeBSD 内核模块
  • 模式匹配兼容性策略
  • 学习使用 Rust 迭代器和组合子
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档