Happy New Year and the upcoming Lunar New Year! I wish everyone a wonderful and fruitful 2025.
The blog section of the Asterinas website has existed since day one, yet we’ve been so busy making great technical progress that we haven’t written a single post—until now! One of my New Year’s resolutions, as the maintainer of Asterinas, is to encourage community members to share their thoughts and progress more regularly. Now that we have entered 2025, I think this is the perfect time to look back on our achievements of 2024 and write the very first official Asterinas blog post!
In this post, I’d like to summarize the amazing progress we made in 2024.
What We Achieved
In January 2024, we felt that the Asterinas project had grown mature enough to share with the rest of the world. So, we made it open source! As a result, 2024 was our first year as an open-source project.
In 2024, we’ve introduced a range of enhancements that boost productivity, expand functionality, optimize performance, and strengthen system safety. Let’s take a closer look.
Productivity Boosted
We believe that the happiness of OS developers is crucial to Asterinas’s success. Developers deserve better languages (Rust), better APIs (OSTD), and better tooling (OSDK). That’s why we created and published OSTD and OSDK on crates.io. Asterinas has been built with the OSTD and OSDK; your kernels can, too!
- OSTD is the (unofficial) standard library for Rust OS development. It provides a small set of safe APIs that are powerful enough to write general-purpose, UNIX-style OS kernels in safe Rust.
- OSDK is a Cargo subcommand that streamlines the workflow of Rust OS projects based on OSTD. With OSDK, you can create, build, and test Rust OS projects just as easily as you do regular Rust applications with Cargo. It even includes built-in support for debugging kernels in a VM and profiling kernels via sampling.
Functionality Enriched
Asterinas now provides over 180 Linux system calls, with about 60 added in 2024. On Intel x86 machines, we introduced Intel TDX support, making Asterinas a viable guest OS for TDX-based Confidential VMs. We also laid the groundwork for RISC-V CPU architecture support, broadening Asterinas’s hardware compatibility.
Performance Optimized
We invested a great deal of effort in pinpointing and resolving performance bottlenecks. To measure our progress, we established the Asterinas Benchmark Collection, which runs various benchmarks nightly and compares Asterinas’s normalized performance against Linux. We’re proud to say that in single-core settings, Asterinas’s performance is on par with Linux in benchmarks like LMbench. In 2025, we will turn our attention to optimizing performance for SMP (Symmetric Multiprocessing) environments.
Safety Enhanced
Asterinas’s signature framekernel OS architecture promises a small and sound trusted computing base (TCB) for kernel memory safety. To further ensure robustness, we collaborated with CertiK for code auditing and formal verification of OSTD’s memory management module—an area that relies heavily on unsafe code. This joint effort has boosted our confidence in the soundness of OSTD and, by extension, Asterinas.
Papers Published
We describe the design principles of our novel framekernel OS architecture in two research papers:
- A short-paper version published at APSys’24.
- A full-paper version, currently under submission, which will soon be posted on arXiv for preview.
2025 Roadmap
We’ll be spinning up our 2025 roadmap process in the very near future – stay tuned! If you’d like to get involved or contribute ideas, keep an eye on our GitHub repository and this blog.
Thank You
We feel incredibly fortunate to have welcomed contributions from over 50 individuals so far. In this post, I’d like to specifically recognize the top 10 contributors of 2024 (by contribution score). It has been both an honor and a pleasure to collaborate with all of you, and our achievements this past year would not have been possible without your dedication. Please join me in thanking this outstanding group of contributors!
-
Junyang Zhang
For leading the development of OSDK and the memory management module of OSTD. -
Ruihan Li
For doing an excellent job in refactoring the network subsystem and demonstrating a steadfast commitment to enhancing code quality. -
Jianfeng Jiang
For tackling some challenging heavy lifts in optimizing sockets and the virtio-net driver. -
Chengjun Chen
For incredible work on optimizing memory- and process-management system calls such asmmap
andfork
. -
Yuke Peng
For high-value contributions to device and MMIO support in OSTD, as well as extensive work optimizing application benchmarks. -
Fabing Li
For creating the Asterinas Benchmark Collection, which has proven immensely useful in our coordinated performance-optimization efforts. -
Shaowei Song
For spearheading the development of MlsDisk and taking on the challenging task of maintaining the sophisticated file system and block I/O subsystems. -
Qingsong Chen
For minimizing overhead on critical system-call paths and porting Asterinas to x86-64 platforms beyond Intel. -
Qing Li
For laying the foundation of our file system and block I/O subsystems. -
Siyuan Hui
For adding Intel TDX support and establishing a self-hosted CI infrastructure.
Finally, we’d like to express our gratitude to the following forward-thinking organizations for supporting the Asterinas project (in alphabetical order):
- Ant Group
- Intel Corporation
- Peking University
- Southern University of Science and Technology
- Zhongguancun Lab
Your support plays a crucial role in helping us push boundaries and accelerate development!
Thank you for reading, and here’s to another productive year for Asterinas and our entire community!