Redox, an operating system written with the Rust programming language

Redox OS

After a year of development, the launch of the new version of the Redox 0.5 operating system was announced, which Its main focus is that its development is using the Rust language and the microkernel concept.

The developments of the project are distributed under the free MIT license. For testing in VirtualBox or QEMU, specific boot images are offered for each of these.

The Redox user environment is based on the Orbital GUI running on Wayland. Netsurf is used as a web browser.

About Redox

The operating system uses the concept of a microkernel, where only the interaction between processes and resource management is provided at the kernel level and all other functionality is carried over to libraries that can be used by both the kernel and user agents.

All controllers run in user space in sandbox sandboxes. For compatibility with existing applications, a special POSIX layer is provided that allows you to run many programs without porting.

redox is developed according to the Unix philosophy, borrowing some ideas from SeL4, Minix, and Plan 9.

The system uses the principle "everything is a URL«.

For example, the URL "log: //" can be used for logging, interaction between processes "bus: //", network interaction "tcp: //", and so on.

Modules that can be implemented in the form of drivers, kernel extensions and user agents can register their URL handlers, for example you can write a module to access the I / O ports and bind it to the URL "port_io: / / ", After which you can use to access port 60 through opening the url" port_io: // 60 ".

The project is also developing its own batch manager, a set of standard utilities (binutils, coreutils, netutils, extrautils), the "ion" command shell, the vod-like sodium text editor, the network stack and the TFS file system developed on the basis of the ideas of ZFS. ).

asus-eepc-900

The configuration is set in the Toml language. The system currently supports use on x86_64 processors with a VBE-compliant graphics card (nvidia, intel, amd), AHCI drives, and network cards based on E1000 or RTL8168 chips.

Main novelties of Redox 0.5

The release of the new version of Redox 0.05 comes with some innovations of which we can highlight in the first instance that the Relibc standard C library, written in Rust.

Relibc is positioned as a portable implementation of the C standard library, POSIX compliant and capable of working not only on Redox, but also on Linux-based distributions.

Previously on Redox, the fork of the newlib library from the Cygwin project It was used as a standard library, but it was not adapted to developers in terms of security and cross-platform. At the current stage of development, Relibc is already far superior to newlib functionality.

In addition to this in Redox 0.5 new bootloader-coreboot and bootloader-efi prepared for coreboot and EFI, on the basis of which the boot images were formed.

The libraries to work with EFI are written in Rust and the startup code (payload for coreboot) in Rust. The chargers can be used separately from Redox and in other projects.

The event management system has been redesigned to provide the correct support for selecting and polling calls.

Of the other news that can be highlighted in the announcement of this new version we find:

  • Full support for memory mapping (mmap) functions has been implemented.
  • Support for Pthreads was added and additional system calls were suggested for signal processing.
  • Improved LLVM support, allowing assembly of rustc and Mesa (c llvmpipe).
  • Due to the transition to the new system library, support for many new applications was achieved.
  • A total of 62 new packages have been added.

For installation in Redox there are already packages ready to use with the libraries SDL2, ffmpeg, cairo, gstreamer, pcre, glman, libiconv, libsodium and gettext, a set of compilers, an OpenGL implementation, an OpenGL application, Vcckv Mesa, scummvm emulators, doscitas and customs, and an OpenGL application in set. Nukem 3D), openttd and FreeDoom.


Leave a Comment

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

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.