[HN Gopher] RSoC 2026: A new CPU scheduler for Redox OS
___________________________________________________________________
RSoC 2026: A new CPU scheduler for Redox OS
Author : akyuu
Score : 41 points
Date : 2026-04-07 21:41 UTC (3 days ago)
(HTM) web link (www.redox-os.org)
(TXT) w3m dump (www.redox-os.org)
| TheMagicHorsey wrote:
| I had no idea there was an entire OS written in Rust that was
| this far along. Is all the bootstrapping from assembly directly
| into Rust, or do they still have a dependency on C and gcc just
| to get things going?
| segbrk wrote:
| Here you go: https://gitlab.redox-os.org/redox-
| os/kernel/-/blob/master/sr...
| refulgentis wrote:
| Thanks for the link! For anyone else clicking through: this
| is the kernel entry point for x86/x86_64. What it shows is a
| very thin #[naked] inline assembly trampoline (kstart) that
| sets up the stack and immediately jumps into unsafe extern
| "C" fn start(), which is pure Rust. So the bootstrap path
| here is: a few dozen lines of inline asm to Rust, no C.
|
| Though it's worth noting this is one file in one component.
| The kernel entry being C-free doesn't necessarily tell the
| whole story. If you peek at that directory listing in the
| blog post, relibc/ is in recipes/core. reblic is Redox's libc
| replacement, which is mostly Rust, but has historically
| needed a C compiler for some POSIX compatibility shims.
|
| And the bootloader, firmware handoff, and build system are
| all separate questions.
|
| So the short answer to the original question seems to be: the
| kernel itself bootstraps from minimal inline asm directly
| into Rust, no C in the path. The full OS build story is
| probably more nuanced than any single source file can
| confirm.
| yencabulator wrote:
| Here, make your own "kernel" in a few lines: https://rust-
| osdev.github.io/uefi-rs/tutorial/app.html
| steveklabnik wrote:
| There are pure rust, no c, embedded RTOSes, like Hubris.
___________________________________________________________________
(page generated 2026-04-10 23:01 UTC)