Redox OS is an [[MIT License]] licensed desktop operating system written in [[Rust]]. - [Website](https://www.redox-os.org/) - [Source](https://gitlab.redox-os.org/redox-os/redox/) (GitLab) - [YouTube](https://www.youtube.com/@RedoxOS) - Documentation > **Redox** is a [**Unix-like**](https://en.wikipedia.org/wiki/Unix-like) Operating System written in [**Rust**](https://www.rust-lang.org/), aiming to bring the innovations of Rust to a modern microkernel and full set of applications. # Notability It is a new OS written in Rust. Fairly far along too! I am always interested in seeing multiple operating systems flourishing. # Philosophy > Redox, following the microkernel design, aims to be reliable, secure, usable, correct and free. Redox is inspired by previous operating systems, such as seL4, MINIX, Plan 9, Linux and BSD. > Redox _is not_ just a kernel, it's a **full-featured operating system**, providing components (memory allocator, file system, display manager, core utilities, etc.) that together make up a functional and convenient operating system. You can loosely think of it as the GNU or BSD ecosystem, but in a memory safe language and with modern technology. \- Redox Official [Readme](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/README.md?ref_type=heads) > Redox’ main developer works at System76, so there’s some strong ties between System76 and Redox. This effort will include porting several applications, but also Wayland, GTK, Qt, and others, which should make porting Linux applications relatively easy. \- 2023 Redox [Article](https://www.osnews.com/story/137367/redox-development-priorities-for-2023-and-2024/) on OS News written by [Thom Holwerda](https://www.osnews.com/story/author/thom-holwerda/) > With "Everything is a file" all sorts of devices, processes, and kernel parameters can be accessed as files in a regular filesystem. This leads to absurd situations like the hard disk containing the root filesystem / contains a folder named dev with device files including sda which contains the root filesystem. Situations like this are missing any logic. Furthermore many file properties don't make sense on these 'special files': What is the size of /dev/null or a configuration option in sysfs? > > In contrast to "Everything is a file", Redox does not enforce a common tree node for all kinds of resources. Instead resources are distinguished by protocol. This way USB devices don't end up in a "filesystem", but a protocol-based scheme like EHCI. Real files are accessible through a scheme called file, which is widely used and specified in RFC 1630 and RFC 1738. \- [Everything is a URL](https://web.archive.org/web/20190219031638/https://doc.redox-os.org/book/design/url_scheme_resource/everything_is_a_url.html) page of the Redox Book (archived version from 2019) > Since each "scheme provider" is free to interpret the path in its own way, new schemes can be created as needed for each type of resource. This way USB devices don't end up in a "filesystem", but a protocol-based scheme like `EHCI:`. It is not necessary for the file system software to understand the meaning of a particular URL, or to give a special file some special properties that then become a fixed file system convention. \- [Everything is a URL](https://doc.redox-os.org/book/ch05-04-everything-is-a-url.html) page of the Redox Book (as of [[2023-12-10]]) Note that the language has changed significantly between 2019 and 2023 to be less polarizing. But the former definitely encapsulates the original impetus. The problem with a URI-driven approach is that it does not by itself unify the ways that different devices and data sources act. While the filesystem approach does. I do agree that the traditional POSIX root filesystem is silly, but folders being able to mount arbitrary file systems is powerful and unifying. The fact that the filesystem root is a mess is simply due to legacy weirdness. This does remind me that [[Protocol Literals|my own]] systems which use URI-like schemes should ensure that there are common tools between them to ensure broad tool reuse and compatibility. # Hardware Support - [[AMD64]] - [[ARM64]] (WIP) # Features - Custom filesystem RedoxFS (with Linux support) - Custom browser with its own layout engine # Tips # References - https://news.itsfoss.com/redox-os-0-7-0-release/ - https://en.wikipedia.org/wiki/Redox_(operating_system) - https://www.osnews.com/story/137367/redox-development-priorities-for-2023-and-2024/ - https://www.theregister.com/2019/11/29/after_four_years_rusty_os_nearly_selfhosting/