Progress in using Redox OS on real hardware

Jeremy Soller (Jeremy Soller), founder of the operating system redox, written in the Rust language, рассказал about the successful use of Redox on a System76 Galaga Pro laptop (Jeremy Soller works at System76). The already fully functional components include keyboards, touchpad, storage (NVMe) and Ethernet.

Experiments with Redox on a laptop have already made it possible to improve the performance of drivers, add HiDPI support to some applications and create new components, such as pkgar, that simplify the installation of Redox from Live images. Among the tasks on which attention is now focused is the achievement of the ability to self-assemble the system (assembling Redox from a Redox-based environment). In a few months, Soller plans to switch to working on Redox full-time on one of the computers from a Redox-based desktop environment, after some improvements have been made to the rustc compiler.

The microkernel concept used in Redox simplifies driver development, since the subsystem that provides the drivers can be recompiled and restarted without stopping work. It is expected that development in a Redox-based environment will improve the efficiency of porting programs and solving problems with hardware support. For example, it is planned to complete the USB stack and add graphics drivers.

Progress in using Redox OS on real hardware

Let us recall that the operating system is developed in accordance with the Unix philosophy and borrows some ideas from SeL4, Minix and Plan 9. Redox uses the concept of a microkernel, in which only interaction between processes and resource management are provided at the kernel level, and all other functionality is moved to libraries. which can be used by both the kernel and user applications. All drivers run in user space in isolated sandbox environments. For compatibility with existing applications, a special POSIX layer is provided, which allows you to run many programs without porting.

The system uses the “everything is a URL” principle. For example, the URL “log://” can be used for logging, “bus://” for interaction between processes, “tcp://” for network interaction, etc. Modules, which can be implemented in the form of drivers, kernel extensions, and user applications, can register their own URL handlers, for example, you can write an I/O port access module and bind it to the URL "port_io://", after which you can use it to access port 60 by opening the URL “port_io://60”. Project developments extend under the free MIT license.

User environment in Redox built based on its own graphical shell Orbital (not to be confused with other shell Orbital, using Qt and Wayland) and toolkit OrbTk, which provides an API similar to Flutter, React and Redux. Used as a web browser Netsurf. The project is also developing its own package manager, a set of standard utilities (binutils, coreutils, netutils, extrautils), command shell ion, standard C library relibc, vim-like text editor sodium, network stack and file system TFS, developed based on the ideas of ZFS (a modular version of ZFS in the Rust language). The configuration is set in language Toml.

Progress in using Redox OS on real hardware

Source: opennet.ru

Add a comment