Rust-based operating system with microkernel and Unix support. What is this OS?

We

in Selectel

we love to study different operating systems. Now we have Redox OS, which is considered an alternative to Linux/BSD systems. It is written in Rust. According to the developers, the OS is now more secure and productive than before. They have recently

presented

new release. Details under the cut!

What kind of OS is this?

For the first time about her

we wrote

back in 2020, when version 0.6 was released. Recently, release 0.9.0 was released. The operating system is multitasking, it provides partial compatibility with the POSIX standard.

Source.

The peculiarity of the OS is that it is developed entirely in accordance with the Unix philosophy. The authors borrowed a number of ideas from SeL4, Minix and Plan 9. One of the main “chips” is the use of the microkernel concept, which provides only interaction between processes and resource management. The remaining functionality is taken out into libraries that can be used by both the kernel and user applications. All drivers are executed in user space in isolated sandbox environments. For compatibility with existing applications, a POSIX layer is provided, which makes it possible to run many programs without porting.

In addition, the developers used the principle of “everything is a URL” for their OS. Thus, a URL can be used to write to a log log://for interaction between processes – bus://for network interaction – tcp:// etc. And modules, which can be implemented in the form of drivers, kernel extensions, and user applications, can register their URL handlers. Example: writing a module for accessing I/O ports and binding it to a URL port_io://after which you can use it to access port 60 by opening a URL port_io://60.

Since the microkernel and all components are written in assembler and Rust, the developers managed to reduce the likelihood of bugs and vulnerabilities. The vast majority of system components in Redox OS were isolated from the kernel. The same drivers operate in user space. And this allows to reduce the total number of possible vulnerabilities of the system.

Okay, so what has changed?


The developers claim that the performance and stability of such system components as calls and context switching have now been significantly improved. The mechanisms for managing virtual and physical memory have also been optimized, and the speed of the file system and UEFI bootloader has been increased.


In addition, it was possible to simplify the process of porting software from Linux/BSD systems. For example, the developers decided to switch to the usual Unix file path format instead of the URI that was used previously. The capabilities of the software assembly toolkit have also been expanded. And the authors of the project continue to improve the implementation of the standard C Redox library, almost 100% written in Rust.

In addition, it was possible to improve support for the ARM64 architecture, which is extremely important for almost any operating system. Now Redox OS is partially compatible with the Raspberry Pi 3B+ single-board. The developers also decided to add VirtIO drivers. They improve OS performance in virtual machines.

If we talk about software, then for a long time now managed to port modules such as Apache HTTP Server (web server), RustPython (Python interpreter written in Rust), Lua (Lua language interpreter), Perl 5 (Perl language interpreter), GNU Nano and Helix text editors, tools from the COSMIC graphical Linux environment: file manager, terminal emulator and text editor.

Now images with a demo build of the operating system are ready. The image “weighs” one and a half gigabytes, it includes the Orbital environment, DOSBox (DOS emulator), several versions of the cult game Doom (the original shareware version and FreeDOM), OpenGL games Neverball and Neverputt, Sodium – a vi-like text editor, rodioplay – an audio player with support for WAV/FLAC formats and other software.

image
The operating system runs on 64-bit Intel, AMD (x86_64, AMD64) processors, with limitations – on 32-bit processors (i686), starting with Pentium II, and 64-bit ARM CPUs (Aarch64). If you want to get acquainted with QEMU and VirtualBox – welcome, they are compatible with Redox.

Unfortunately, not everything is so good, there are problems. For example, in this operating system there are problems with the operation of wireless communication modules from Atheros. This drawback is compensated by the fact that the same Ethernet from Intel works. Plus, graphic chips from both Intel and AMD work without problems.

The team is not to blame for the fact that the OS is not changing as quickly as we would like. It consists of more than 40 people. Jeremy Soller has been at the helm since the project was launched. The first release of Redox OS took place in April 2015. Now the project management is trying to quickly solve the existing problems with adding the functions and capabilities needed by this OS.

If you have had a chance to work with this operating system, tell us in the comments how you like it. Is it able to replace the OS you are used to?

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *