Redox 0.6 Operating System Written in Rust: What's New in the Release?



After a year and a half of development, the authors of the Redox 0.6 operating system, written using the Rust language, published a new release. The novelty can be tested - for this, boot images have been posted on the network. Their volume is 61 MB. The latest version can be tested on regular hardware, not in QEMU and VirtualBox.



The operating system is distributed under the free MIT license. What's new in version 0.6?



  • The kernel memory management system has been rewritten from scratch . We are talking about rmm, kernel memory manager. The developers managed to get rid of the memory leaks that caused problems when using the old memory manager. The stability of support for multi-core systems has also been improved.
  • , RSoC (Redox OS Summer of Code), , io_uring, ptrace, strace, gdb, .
  • - Relibc, Redox, Linux.
  • pkgar . . , , , . , pkgar , .
  • cookbook , Rust. Shell- Tomt.
  • , Asm.


As for the features of this operating system, it is developing completely in accordance with the Unix philosophy. The authors borrowed a number of ideas from SeL4, Minix and Plan 9. One of the main "tricks" is the use of the microkernel concept, in which only interaction between processes and resource management is provided. The rest of the functionality has been moved to libraries, which can be used by both the kernel and custom applications. All drivers run 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 "everything is a URL" principle for their OS. So, for logging the URL โ€œlog: //โ€ can be used, for interaction between processes โ€œbus: //โ€, for network communication โ€œtcp: //โ€, etc. For modules that can be implemented in the form of drivers, kernel extensions, and custom applications can register their URL handlers. Example - writing a module for accessing I / O ports and bind it to the "port_io: //" URL, after which you can use it to access port 60 by opening the "port_io: // 60" URL.



The custom environment is based on OrbTk's own graphical shell, which provides APIs similar to Flutter, React and Redux. Browser - Netsurf. During the development of the project, the developers provided their own package manager, a set of standard utilities (binutils, coreutils, netutils, extrautils), the ion command shell, the relibc standard C library, a vim-like sodium text editor, a network stack, and the TFS file system developed on the basis of ideas for ZFS (modular version of ZFS in Rust). The configuration is set in Toml language.






All Articles