This article is more than 1 year old
Redox OS version 0.8 is both strange and very familiar
'Experimental operating system' it may be, but it's still Unix/Linux-like
If the words "experimental operating system" don't scare you off, Redox OS is an impressive demonstration of both homegrown OS development and the Rust language itself.
Redox OS version 0.8.0 arrives some seven months after version 0.7.0 in April. That seems to indicate that the cadence of new releases is accelerating – it's about three years since The Reg looked at Redox 0.5, and it's coming along quite well.
Saying that, though, it's not quite ready to host itself. In other words, you can't build Redox OS on Redox OS just yet. The Rust compiler rustc
is working, but according to lead developer Jeremy Soller, the cargo
build system and package manager isn't yet.
The main focuses in this version are to get the OS working on real hardware – there's a handy list – as opposed to just inside VMs. It now has audio support (IntelHD and AC97), and can boot on both BIOS and UEFI PCs. There are both i686 ("32-bit x86 from the Pentium II and up") and x86-64 versions, plus preliminary support for 64-bit Arm: it can boot to a login prompt inside QEMU.
The announcement also says that one non-technical area has seen significant improvement: the Redox OS book, largely thanks to contributor Ron Williams. If you're curious about the project, this is a good place to start. For instance, the Why Redox? section talks about the motivations behind the project, comparing it to Linux, the BSDs, and Minix 3.
Redox OS 0.8.0 has a familiar Windows 9x-like desktop and a suite of demo apps, but while it's shaping up nicely, it's not ready to replace a mainstream desktop just yet
The Reg FOSS desk grabbed an ISO file of the live OS image from the project's own download server and gave it a brief whirl in VirtualBox 6. It booted straight to a graphical login screen, and we could log in (the user name "user" is filled in already, and there's no password) and play with the preinstalled apps. These include the Netsurf browser, a file manager, image viewer, calculator, calendar, a text editor, and a periodic-table viewer.
There's also a terminal emulator with a shell. The normal user account is unprivileged, but even so, it shows a #
prompt. For superuser privileges, you can either log in as root
(with the password of password
) or execute sudo sh
. The prompt and directory layout felt to us not merely Unix-like, but specifically Linux-like.
That said, this is not a Linux replacement by any means – not yet anyway. In terms of OS functionality, Redox is still in the prototype stages. It's a remarkably complete prototype: it has its own filesystem, TFS, the Orbital display server and desktop, and its own shell, Ion, which can also run on Linux.
As such, the preliminary impression is that it's a lot further along than, say, the Genode OS project's Sculpt desktop OS. Genode is an experimental new OS being built in C++. The Genode project has been going for about twice as long at this point, but we suspect that effort is going into the kernel, networking and so on. For now, it doesn't have a full desktop user interface. In comparison, Redox has a Windows-like desktop with a taskbar, start menu, file manager etc. but we weren't able to get the Netsurf browser to open even its homepage.
- Fresh versions of Ubuntu Touch, Mir display server, and Unity arrive
- No formal certifications? CUE the Ubuntu skills testing scheme
- Strong support for Snap and Ubuntu Core as Canonical meet IRL
- Nitrux 2.5: The latest update to a radical Linux
Redox hasn't got to version 1.0 so there isn't much chance of replacing any existing OS with it just yet. But that is the long-term goal. Developer Jeremy Soller told us:
The primary goal is to produce a general purpose operating system, where the majority of the components are written in the Rust programming language. The hope is that it will inspire the use of Rust for more low-level programming and this will lead to increased security across the open source software ecosystem.
I intend to use Redox OS on my own machines when it is more mature, and that is enough for me.
There are more experimental OSes out there than you might think. Before the Redox project began, we took a look at 25 alternatives. Most of those projects are still active, and although AtheOS, Syllable and SkyOS have all gone silent, there are new contenders such as the from-scratch C++-based SerenityOS.
At present, Redox OS strikes us as more technologically conservative than, say, Plan 9, or its continuation 9front, which we looked at earlier this month. Plan 9 boldly takes existing Unix concepts such as everything is a file and stretches them to breaking point, blurring the lines between the computer in front of you and the network as a whole, and between the command line and the window manager (Arcan and Lash#Cat9 do the latter too, but on the existing basis of Linux). The result is that Plan 9, and indeed Genode, are unfamiliar and very disorienting if you know any OS from the last 30 years or so.
In contrast, while Serenity OS is indeed something totally new, it is, according to its own description, "a love letter to '90s user interfaces." The Serenity OS project is rebuilding a fairly conventional Unix-like OS from the ground up, using C++ and existing Linux tools, rather than trying to do something radical and different.
Redox is experimenting along a different axis: the project is building a relatively familiar-feeling OS, with a friendly desktop and command line that are instantly recognizable, but it's doing it in a radically different programming language – one which, as we talked about regarding its forthcoming support in the Linux kernel, is profoundly unlike Algol descendants such as C and C++. And it's embracing the design concepts of newer OSes such as Minix 3. It's possible that, in time, Redox OS may succeed where Minix has thus far failed to make much visible impact, by striking a happy compromise between a familiar user experience, a modern underlying design, and cutting-edge development tools.
If it does, we will be delighted. C is a cumbersome, dated language for building large, complex projects, and that may be one of the limiting factors for Plan 9 and Minix 3. Conversely, C++ is itself dauntingly huge and complex and not well-suited for building OS kernels. Many feel that Rust strikes a happy medium, and once again, it was the most-loved language in the latest Stack Overflow survey.
But if you want to actually try using something other than Windows or an established Unix such as Linux, BSD or macOS, then right now, Haiku is much closer to something usefully complete and usable. ®
Bootnote
Don't be deceived by the project's GitHub page. Development has moved over to GitLab instead, and the old page hasn't been updated: you won't find any recent ISO images there.