Recent submissions

Comment · 8 months ago
Indeed! There are a few parts where I resorted to AI (mainly for the unit tests in libkernel), but I made sure to read through the generated code and that the tests were sane.
Comment · 11 months ago
Yip, I panic whenever I encounter a syscall that I can't handle and that prompts me to implement it.

Yeah, I was thinking of integrating that at some point. They've done a really nice job of keeping it no_std-friendly.

Comment · 11 months ago
Eventually, It'd be amazing to use Moss as my daily driver OS. That means targeting the specific hardware that I have, but in doing so, I hope to build up enough of the abstractions to allow easier porting of hardware.

A more concrete mid-term goal is for it to be 'self-hosting'. By that I mean you could edit the code, download dependencies and compile the kernel from within Moss.

Comment · 11 months ago
;-)
Comment · 11 months ago
This has been a real help! The ability to easily verify the behavior of certain pieces of code (especially mem management code) must have saved me hours of debugging.

Regarding the async code, sibling posts have addressed this. However, if you want to get a taste of how this is implemented in Moss look at src/sched/waker.rs, src/sched/mod.rs, src/sched/uspc_ret.rs. These files cover the majority of the executor implementation.

Comment · 11 months ago
Comment · 1 year ago
Comment · 1 year ago
Comment · 1 year ago
Hello everyone!

I'm excited to announce the first release of trale, my minimalistic asynchronous executor crate! This project is designed to provide a simple yet functional educational resource for those studying Rust's async ecosystem. Since my initial post, there have been significant improvements and simplifications in the code, especially in the reactor and the addition of several new future types.

The goal of this crate is not only to provide a working executor, but also to serve as a learning resource for understanding how async systems work under the hood—particularly for those interested in exploring Rust’s async capabilities and its interaction with low-level Linux system interfaces.

Future work planned is a port to use Linux's io_uring API.

Thanks!

Comment · 2 years ago
As a learning exercise on unpicking how Rust's async really works, I created trale. It's a tiny, fully working execution envinroment for async rust code on Linux. It currently stands at < 1000 lines and is fully featured. My hope is that this code will help lift some of the 'magic' around how async Rust works for other people interested in this field!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton