< 返回版块

苦瓜小仔 发表于 2025-06-14 07:55

Tags:日报

文章:蚂蚁星绽 Asterinas - 兼容 Linux ABI 的 Framekernel OS,具有最小 TCB

作者:田洪亮

本文提炼了其研究论文 USENIX ATC 2025《Asterinas:一种兼容 Linux ABI、基于 Rust 的 Framekernel OS,具有小型且完善的 TCB》。

该项目旨在通过将不安全代码限制在最小可信计算基础(TCB)内,实现内核内存安全。

Asterinas的核心是OSTD框架,它仅包含约1.5万行代码,占整个内核的14%。通过严格的安全性审查、硬件强制和工具检测,Asterinas在保持高性能的同时,几乎消除了内存安全漏洞。

它支持210多个Linux系统调用、多种文件系统和网络协议,并兼容x86-64和RISC-V架构。

尽管目前仅支持Linux,但未来计划扩展到更多平台。Asterinas证明了在不牺牲性能和功能的前提下,完全用安全Rust构建操作系统内核是可行的。

阅读:https://asterinas.github.io/2025/06/04/kernel-memory-safety-mission-accomplished.html

论文:https://arxiv.org/abs/2506.03876

Reddit:https://www.reddit.com/r/rust/comments/1lasolt/asterinas_linuxcompatible_os_written_in_rust/

文章《只需扩展:Aurora DSQL 的故事 - AWS 上的分布式无服务器 SQL 数据库》

文章讲述了AWS开发Aurora DSQL的历程。

DSQL旨在构建一个无需基础设施管理且能自动扩展的云数据库,结合SQL的强大功能和真正的无服务器可扩展性。

开发团队最初使用JVM,但因性能和垃圾回收问题转向Rust。Rust的内存安全性和零成本抽象使DSQL在性能和可扩展性上取得突破。

团队还决定将控制平面从Kotlin迁移到Rust,以实现更高效的开发和更好的性能一致性。

阅读:https://www.allthingsdistributed.com/2025/05/just-make-it-scale-an-aurora-dsql-story.html

Reddit:https://www.reddit.com/r/rust/comments/1lae13d/just_make_it_scale_an_aurora_dsql_story_a/

文章《Making GNOME’s GdkPixbuf Image Loading Safer》

作者:Sophie

文章介绍了GNOME项目中一个新的图像加载机制glycin,它基于Rust语言和沙箱技术,提供了更高的安全性、更广泛的格式支持以及更多功能(如HDR支持、元数据访问等)。

glycin已被集成到GdkPixbuf中,用户可以通过特定编译选项启用。

目前glycin仅支持Linux平台,未来计划扩展到其他平台。

阅读:https://blogs.gnome.org/sophieh/2025/06/13/making-gnomes-gdkpixbuf-image-loading-safer/

Reddit:https://www.reddit.com/r/rust/comments/1lapcl7/gnome_is_migrating_its_image_processing_to_rust/

视频:使用 Rust 编写你自己的 CLI

Rust 基础教程:在本代码演示中,我们将使用 Rust 构建一个命令行界面应用程序,介绍一些非常酷的板条箱,并进一步了解 Rust 的一般知识。

观看:https://www.reddit.com/r/rust/comments/1lakgmo/code_your_own_cli_with_rust/

文章:《Making Emacs LSP work with Rust conditional features》

文章介绍了如何在Emacs中配置LSP以支持Rust的条件编译特性。

通过在项目根目录创建.dir-locals.el文件并设置lsp-rust-features,可以让rust-analyzer分析带有特定功能标志的代码,从而实现代码补全、错误检查等功能。

阅读:https://blog.aheymans.xyz/post/emacs-lsp-rust-features/

lin-alg:通用目的和计算机图形学的矩阵、向量和四元数运算库

lin-alg 是一个用于通用和计算机图形的向量、四元数和矩阵库。

它支持 SIMD(单指令多数据)操作,提供 Vec3Vec4Quaternion 等基本类型,并适用于计算机图形、生物力学、机器人等多个领域。

该库还支持 CUDA 功能,可用于 GPU 加速,并提供了 SIMD 的打包和解包工具函数。

仓库:https://github.com/David-OConnor/lin-alg

Reddit:https://www.reddit.com/r/rust/comments/1l8wbhb/linalg_a_crate_for_operations_on_matrices_vectors/

讨论:热门观点:Tokio 和 async-await 很棒

再次看到那些列表和观点,认为线程已经足够好了,不要搞得太复杂。我的想法恰恰相反。我已经厌倦了看到意大利面条式的代码,里面充斥着大量手动编写的同步原语,以及各种 do_work() 函数,这些函数实际上可能会永远阻塞,并且还要维护一个有状态的线程池。

async 很好地向我表明了该函数在底层执行的操作、需要重试以及我可以将并发性设置得非常高。

Rust 之所以如此出色,是因为尽管我们最初花费大量时间编写类型,但最终的业务逻辑却非常简单。我们用类型来表达不变量。异步只是另一个不变量。它并非早期优化,而只是花时间来正确描述问题空间。

Tokio 的评分也是 9/10;既然它表面上赢得了执行器之争,希望人们在直接依赖它时不要那么担心。如果你想成为执行器不可知论者,请注意它的用例相对有限。我们可能会看到 io-uring 领域发生一些变化,但我认为 Tokio 也将成为这一领域占主导地位的运行时。

链接:https://www.reddit.com/r/rust/comments/1lagmig/hot_take_tokio_and_asyncawait_are_great/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页