R9 is a work-in-progress effort to build a Plan 9 kernel to Rust. It was started a couple years back by the maintainers of the Harvey OS distribution of Plan 9, who threw in the towel after “loss of traction”.
R9 is a reimplementation of the plan9 kernel in Rust. It is not only inspired by but in many ways derived from the original Plan 9 source code.
R9OS GitHub page
For now, the project is obviously mostly focused on running in virtual machines, specifically Qemu, in which it can be run using a variety of architectures: aarch64, x86-64 (with or without kvm), and RISC-V.
Unfortunately getting a modern operating system “up and running” is an increasingly challenging task.
In 1980s, it was:
1. Boot off the disks (floppy or hard drive)
2. Basic file systems and file management
3. Run programs
In 1990s, we needed:
4. Preemptive multi-tasking.
5. Graphical user interfaces
6. Sound and other multi media devices
In 2000s, we added:
7. Multi-core, multi-threaded kernels
8. Security, preventing local attacks, and remote using firewalls
9. Much better TCP/IP suite
In 2010s, we added even more:
10. Desktop composition
11. Virtualization
12. Much larger range of peripherals
I am not saying they were invented in that particular decade. But they became the “norm”. In 2000, you would not want a desktop operating system which could not do proper web browsing, let alone play your DVDs / mp3’s.
Today we add even newer stuff, like GPU virtualization, and AI / Tensor cores. Not sure what will future bring either.
That being said, I would still wish the best of luck to these brave folks.
Agreed that the requirements for a daily driver operating system have increased, I don’t think all of that is needed by everyone. I can live with an operating system without Desktop composition/virtualization/peripheral support or even a gui. Give me a OS400 rip off and I’ll be fine
Bill Shooter of Bul,
Yeah, most of my computers don’t have audio and apart from my desktop/laptop I don’t even need a GUI. I don’t say this just to downplay their importance, but only to point out there’s a great diversity in needs.
For better or worse, what often kills the viability of alternative operating systems is not a high bar for OS feature requirements but application compatibility. This has been the main barrier for a long time and it’s too bad because even alternatives with good execution can still fail the daily driver test.
Alfman,
Yes, it is similar to the the common 20/80 rule. However even if people have different needs, everyone needs a different part of the system. So, you still need to (a) have all, or (b) have a very specific niche to be comptitive.
Yes, this is also true. And that is why Windows could not drop Win32 support even after introducing numerous new and better APIs. And that is why Google had to implement Android and then Linux support on Chrome OS.
But if you have a modern enough kernel, you can add a virtualization layer (like WSL on Windows) to run non native applications.
But yes, this should also be part of the list above.
I wanted to have Haiku on my desktop. However, it fails several checks on the list. There is for example no desktop composition as far as I know, which blocks another feature: multiple monitors (at least the modern sense with variable DPI). Thunderbolt seems to be in early stages, which makes all these moot: https://dev.haiku-os.org/ticket/18538?cnum_hist=11&cversion=1 (my setup is with a thunderbolt dock).
Anyway, even with the best efforts, and a very good community, Haiku, one of the most famous alternate operating systems, is still far away from being a daily driver. And the list of things they have to implement increase every year.
Bill Shooter of Bul,
Of course. There are many of us who actually prefer to use a command line if there was an option. However today it is an uphill battle on itself. (Is there any text browser that can actually render OSAlert well)?
I doubt it was “loss of traction” so much as the scene changing. The idea behind Harvey, IIRC, was to use a lot of Go for building the user-land. With Rust becoming so popular it probably made a deal of sense to experiment with building the kernel from that.
I think they did not do themselves any favours by ditching the HarveyOS name in favour of r9, it could lead people to think Harvey was a failure. A more graceful “pivot” whilst retaining HarveyOS branding would have been the better path IMO. FWIW I don’t think it is too late to do that.
Fortunately the Plan9 scene is on fire, with 9Front in particular going from strength to strength, which means the somewhat wobbly direction of Harvey would not seem to cause any problems.
I would also add that Plan9 seems an ideal candidate for seeing how viable a rust OS can be. They do not have to rewrite a massive legacy codebase like Linux or windows, nor do they have to reinvent the wheel like clean sheet OS such as Redox must do.