This Month in Rust OSDev
2025 年 7 月的 “This Month in Rust OSDev” 汇总了 Rust 操作系统开发领域的最新进展。文章提到了多个与 Rust OS 开发相关的新闻、博客文章和项目更新。
例如,Vivo 公司开源了其智能手表操作系统 BlueOS 的内核,这是一个兼容 POSIX、支持 ARM 和 RISC-V 架构并兼容 Rust std
库的项目。此外,Redox 操作系统发布了 7 月的更新,还有关于 Rust GPU 内核驱动的介绍。
在工具方面,rustc
和 cargo
进行了更新,允许对非 Rust 内存(包括地址 0)进行易失性访问。
rust-osdev
组织下的多个项目也发布了重要更新,如 bootloader
修复了目标 JSON 文件中的类型问题,uart_16550
更新了串行端口 I/O 支持,uefi-rs
添加了新的协议支持,x86_64
修复了文档中的拼写错误并增加了新的功能实现。其他项目如 phil-opp/blog_os
也进行了多项更新。
阅读:https://rust-osdev.com/this-month/2025-07/
文章《这条 Send/Sync 的潜规则,把专业与业余的 Rust 开发者区分开来》
文章探讨了 Rust 中的 Send 和 Sync 特性,解释了它们如何将线程安全性融入类型系统。
Send 表示可以安全地将值移动到另一个线程,而 Sync 表示多个线程可以安全地共享对值的引用。
作者通过实例说明了 Send 和 Sync 的区别,并解释了为什么某些类型(如 Rc 和 Cell)不满足这些特性。
文章还讨论了如何通过理解类型的行为来预测其 Send 和 Sync 状态,而不仅仅是死记硬背。
阅读:https://blog.cuongle.dev/p/this-sendsync-secret-separates-professional-and-amateur
Reddit:https://www.reddit.com/r/rust/comments/1mkjs6o/my_take_on_send_and_sync/
Redb:发布 v3.0.0
功能:
- 强制升级至 v3 文件格式,须先用 2.6 的 Database::upgrade() 迁移;
- v3 引入多重存储优化,空库体积从 2.5 MiB 缩至 50 KiB,批量写性能提升约 15%,并采用更紧凑的变长元组编码;
- 新增 ReadOnlyDatabase 支持多进程只读访问,提供 redb-derive 自动实现 Key/Value trait;
- 加入 chrono 与 uuid 特性;
- 非持久事务支持垃圾回收;
- API 小幅调整,修复完整性检查误报等缺陷。
仓库:https://github.com/cberner/redb
gpu-physics-engine:高性能 2D 物理引擎
这是一个用 Rust 和 wgpu 开发的高性能 2D 物理引擎,能够处理数百万粒子并保持高帧率。
它通过 GPU 加速、空间网格分区和 Verlet 积分实现高效的物理模拟,并支持实时交互,如鼠标吸引粒子和实时生成粒子。
它能在 AMD 6800XT 上处理约 200 万到 350 万个粒子,保持 60 帧/秒的帧率。
功能:
- GPU 加速:所有物理计算在 GPU 上完成,性能强劲。
- 空间网格分区:高效广义碰撞检测。
- Verlet 积分:确保粒子运动的稳定性和能量守恒。
- 实时交互:支持鼠标吸引粒子和实时生成粒子。
- 高可扩展性:能处理数百万粒子,保持高帧率。
- 当前限制:仅支持 2D 模拟和圆形粒子。
- 未来优化:计划优化计算着色器和渲染性能。
仓库:https://github.com/MarcVivas/gpu-physics-engine
参考文章:《使用 CUDA 进行广义碰撞检测 | NVIDIA 开发者》
讨论:Rust 标准库的 HashMap 实现和性能
Rust 的标准 HashMap
实现并非基于 Google Abseil,而是基于 Swiss Table。
与 Boost 的 unordered_flat_map
相比,后者在多数场景下性能更优,尤其是在高负载条件下的不成功查找和插入操作中,unordered_flat_map
的平均探测长度和负比较次数更低。
Rust 的 HashMap
虽然在设计上注重性能,但在某些特定场景下仍可能不如 unordered_flat_map
。
Reddit:https://www.reddit.com/r/rust/comments/1mloi7k/rust_hashmap_implementationperformance/
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论是的, 娓娓道来
--
👇
asuper: Send/Sync 这篇文章很不错
Send/Sync 这篇文章很不错