The release of the Redox OS 0.8 operating system, written in Rust

The release of the Redox operating system 0.8 has been published, developed using the Rust language and the microkernel concept. The project's developments are distributed under the MIT open license. To test Redox OS, demonstration builds of 768 MB are offered, as well as images with a basic graphical environment (256 MB) and console tools for server systems (256 MB). The builds are created for the x86_64 architecture and are available for systems with UEFI and BIOS. The demonstration image, in addition to the Orbital graphical environment, includes the DOSBox emulator, a selection of games (DOOM, Neverball, Neverputt, sopwith, syobonaction), educational programs, the music player rodioplay, and the text editor Sodium.

The operating system evolves in accordance with Unix philosophy and borrows some ideas from SeL4, Minix, and Plan 9. Redox employs a microkernel concept, where the kernel level provides only process interaction and resource management, while all other functionality is implemented in libraries that can be used by both the kernel and user applications. All drivers run in user space within isolated sandbox environments. To ensure compatibility with existing applications, a special POSIX layer is provided, allowing many programs to run without porting.

The system applies the principle of 'everything is a URL.' For example, the URL 'log://' can be used for logging, 'bus://' for process interaction, 'tcp://' for network communication, and so on. Modules that can be implemented as drivers, kernel extensions, and user applications can register their URL handlers; for instance, a module for accessing input/output ports can be linked to the URL 'port_io://', after which it can be accessed through the URL 'port_io://60'.

The user environment in Redox is built upon its own graphical shell, Orbital (not to be confused with another Orbital shell using Qt and Wayland), along with the OrbTk toolkit, which offers an API similar to Flutter, React, and Redux. Netsurf is used as the web browser. The project is also developing its own package manager, a set of standard utilities (binutils, coreutils, netutils, extrautils), the ion command shell, the standard C library relibc, a vim-like text editor called sodium, a networking stack, and a file system. Configuration is specified in Toml.

In the new release, work continues to ensure operation on real hardware. In addition to the x86_64 architecture, support for 32-bit x86 systems (i686, Pentium II and newer) has been added. Porting to ARM64 CPU (aarch64) is underway. Support for real ARM hardware is not available yet, but booting is possible using ARM64 emulation in QEMU. By default, the sound subsystem is active and initial support for multi-monitor configurations (on systems with UEFI framebuffer) is provided. Supported hardware in Redox OS includes AC’97 and Intel HD Audio sound chips, graphics output via VESA BIOS or UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), input devices (keyboards, mice, touchpads), SATA (AHCI, IDE), and NVMe. Wi-Fi and USB support is not fully realized yet (USB works only in QEMU).

Other innovations:

  • Boot images for BIOS and EFI systems have been merged.
  • The implementation of the system calls clone and exec has been moved to user space.
  • The boot process has been simplified. A bootstrap program has been implemented, launched by the kernel to handle the further loading of ELF files, such as the init process.
  • The escalated program has been added to ensure the operation of setuid programs, such as sudo.
  • To simplify the creation and installation of background processes, the crate package redox-daemon has been proposed.
  • The build system has been redesigned to allow building for different architectures in a single source tree. To facilitate building various configurations, the build.sh script has been proposed. Support for building using the podman tools has been added. The building of the kernel, bootloader, and initfs has been unified with other packages.
  • A demonstration configuration has been added for building examples of programs that are not included in the basic boot image with a graphical interface.
  • Audio subsystem audiod has been enhanced with software volume control support.
  • A driver for AC’97-based sound chips has been added. The driver for Intel HD Audio chips has been improved.
  • A driver for IDE controllers has been added.
  • Support for NVMe storage devices has been improved.
  • Drivers for PCI, PS/2, RTL8168, USB HID, and VESA have been enhanced.
  • The installation process has been reorganized: the bootstrap, bootloader, kernel, and initfs are now placed in the /boot directory.
  • Memory management in the kernel has been simplified, and the ability to manipulate address spaces from user level has been added.
  • The Orbital graphical interface now supports multi-monitor systems, improves mouse cursor handling, and adds an indicator for volume changes. The menu now allows for application categorization.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster