An operating system is the essential piece of systems work, so a Rust OS should serve as a demonstration of the efficacy of Rust in systems work. Is the performance on par with contemporary operating systems? Is the code about as easy to understand as contemporaries? Is there a reduction in memory safety issues vs contemporaries?
Positive results from such a project could inspire others to use Rust for more systems work and perhaps integration into other OS kernels and/or key userspace libraries.
Plus, writing an OS is kind of fun.
But keep in mind Singularity is still a toy OS. It has no use-case, and doesn't aim for real-world goals that would make it commercially successful. I just think that even as toy OS's go, it was one of the more interesting ones of recent times.
[0] https://www.microsoft.com/en-us/research/wp-content/uploads/...
There's a few good reasons in my mind:
* proof of concept - if a language claims to be a systems language, being able to point to an OS in it is pretty good proof that it's true.
* dogfooding - if there are problems with how the language works for the OS case, they can be highlighted by the OS. (this is similar to self hosting a compiler)
* community building - some folks want to work on a new OS, and doing it in a specific language helps grow both groups and at least introduces them to each other.
For me the 'logical' thing to do to build a 'safety first' OS in the 21st century would be: use the seL4 microkernel and then Rust to build the full OS kernel.
Though I don't know if Spectre changed this.
Edit: It seems RedLeaf is immune to meltdown due to its design while seL4 has meltdown mitigations[2]. I would assume the same goes for spectre, but that would be an assumption on my part. (Note again, I've only skimmed [2] so I can easily be wrong here.)
[1]: https://www.ics.uci.edu/~aburtsev/doc/redleaf-hotos19.pdf
[2]: https://www.usenix.org/system/files/osdi20-narayanan_vikram....
[0]: https://arxiv.org/abs/1902.05178 [1]: https://security.googleblog.com/2021/03/a-spectre-proof-of-c...
That said I can imagine a two layer system: if you use 100% safe Rust you have a 'fast path' direct access, otherwise you fallback to slower hardware protection.
Plus if I was going to fund a toy research kernel that aims to increase security, I'd go whole-hog and bring Singularity OS[0] back from the dead, because at least that plays with new ideas and tested the limits of what was thought to be possible.
[0] https://en.wikipedia.org/wiki/Singularity_(operating_system)