IT之家 4 月 2 日消息,微软工程师 Wedson Almeida Filho 近日发布邮件,通过和 Rust for Linux 项目密切合作,已经发布新的补丁来彻底改变内核中的模块初始化。图源:Windows Report AI 生成 Filho 表示微软为履行在 Linux 生态中推动 Rust 发展的承诺,通过发布新的补丁,来完善 Rust 内核代码的分配应用程序接口...
A memory model for Rust code in the kernellwn.net/Articles/967049/ 感兴趣的同学可以去原文了解更多细节并交叉验证我的理解。Rust进入Linux内核已经不是什么新鲜事了,但是在开发实践当中还是一片百废待兴的景象。此处的内存模型并不是说Rust的内存安全保证,而是内存的访问一致性(consistency/coherence)模型,实...
首先,Linux Kernel 是一个非常庞大且复杂的系统,要用 Rust 重写所有的代码不仅在技术上十分艰难,而且...
它是一个包含 32 位整数值的 Vec。本身 Rust 允许为结构类型添加接口("trait")实现。因此,这个示例模块为 RustMinimal 类型实现了 kernel::Module trait。impl kernel::Module for RustMinimal { fn init(_module: &'staticThisModule) -> Result<Self> { pr_info!("Rust minimal sample (init)\n...
Linux Kernel 6.3终于发布了,带来了重大更新和改进。让我们来更近一步了解。 在一个月前发布了Linux Kernel 6.3 RC1 版本之后,Linus Torvalds 宣布了Linux Kernel 6.3的发布,该版本现在可以立即下载。在功能方面,这是一个中等版本,带来了通常的CPU、GPU、网络和安全修复。总体上,在RC阶段期间没有发现任何严重问题,...
链接: https://fosstodon.org/@kernellogger/111741507899977461 GitHub: https://github.com/torvalds/linux/blob/master/drivers/net/phy/ax88796b_rust.rs [new lib] rs-measures 一个Rust 宏库,用于将数字静态封装在具有度量单位的对象中。 动机:使用原始的 Rust 数据类型来存储物理或几何量的值,可能会出现...
在linux-kernel-module-rust 项目中,进入用户空间的指针被 wrap 成 UserSlicePtr 类型,这确保了 copy_to_user()或 copy_from_user()的可以正确使用。这个 wrapper 在 Rust 代码中提供了一定程度的安全性功能(因为这类指针不能直接 dereference),同时也使 Rust 代码更加地道。要想写入用户空间指针的话,代码看起来...
Linux Kernel 6.10 为 RISC-V 架构添加了 Rust 语言支持,为 EROFS 文件系统添加了 Zstandard 压缩支持,以及为 x32 子架构带来影子堆栈支持,进一步完善 TPM 总线加密和完整性保护,并初步支持设置数据包转发控制协议(PFCP)过滤器。Linux 6.10 还为 PowerPC BPF JIT 编译器添加了 kfuncs 支持、用于将跟踪环...
主要就是Rust没有为Linux赋能,没有用心沉淀,共创生态,导致无法落地,拉通两端需求,打法日 趋落后,点线面打不出组合拳,高中低层无法合理,发力也做不到精细化,对小开发者团队没有资 源倾斜,聚焦他们痛点,跟进布局,达不到快速响应,因此玩法被动,而上半场只顾去中心化,下 ...
Linux kernel的目录结构下一般都会存在Kconfig和Makefile两个文件。分布在各级目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。Kconfig是各种配置界面的源文件,内核的配置工具读取各个Kconfig文件,生成配置界面供开发人员配置内核,最后生成配置文件.config。