title = "FAQ"
This page covers questions/answers for newcomers and end-users.
- What is Redox?
- What does Redox mean?
- What features does Redox have?
- What is the purpose of Redox?
- What I can do with Redox?
- What is a Unix-like OS?
- How Redox is inspired by other systems?
- What is a microkernel?
- What programs can Redox run?
- How to install programs on Redox?
- Which are the Redox variants?
- Which devices does Redox support?
- I have a low-end computer, would Redox work on it?
- Which virtual machines does Redox have integration with?
- How do I build Redox?
- How to launch QEMU without GUI
- How to troubleshoot your build in case of errors
- How to report bugs on Redox
- How do I contribute to Redox?
- I have a problem/question for Redox team
What is Redox?
Redox is a microkernel-based operating system, a complete, fully-functioning, general-purpose operating system with a focus on safety, freedom, reliability, correctness, and pragmatism.
Wherever possible, the system components are written in Rust and run in user-space.
Current status
Redox is a alpha/beta quality software, because we implement new features while fix the bugs.
Thus it's not ready for daily usage yet, feel free to test the system until its maturity and don't store your sensitive data without a proper backup.
The version 1.0 will be released once all system APIs are considered stable.
What does Redox mean?
Redox is the chemical reaction (reduction–oxidation) that creates rust, as Redox is an operating system written in Rust, it makes sense.
It sounds like Minix/Linux too.
What features does Redox have?
Microkernel benefits
True modularity
You can modify/change many system components without a system restart, similar to but safer than livepatching.
Bug isolation
Most system components run in user-space on a microkernel system, a bug in a non-kernel component won't crash the system/kernel.
No-reboot design
A mature microkernel changes very little (bug fixing), so you won't need to restart your system very often to update the system.
Since most of the system components are in userspace, they can be replaced on-the-fly (reducing downtime for server administrators).
Easy to develop and debug
Most of the system components run in userspace, simplifying testing/debugging.
Rust benefits
Less likely to have bugs
The restrictive syntax and compiler suggestions reduce the probability of bugs a lot.
No need for C/C++ exploit mitigations
The microkernel design written in Rust protects against C/C++ memory defects.
By isolating the system components from the kernel, the attack surface is very limited.
Improved security and reliability without significant performance impact
As the kernel is small, it uses less memory to do its work and the limited kernel code size helps to keep it close to bug-free status (KISS goal).
Rust's safe and fast language design, combined with the small kernel code size, helps ensure a reliable, performant and easy to maintain core.
Thread-safety
The C/C++ support for thread-safety is quite fragile, and it is very easy to write a program that looks safe to run across multiple threads, but which introduces subtle bugs or security holes. If one thread accesses a piece of state at the same time that another thread is changing it, the whole program can exhibit some truly confusing and bizarre bugs.
But in Rust this kind of bug is easy to avoid, the same type system that keeps us from writing memory unsafety prevents us from writing dangerous concurrent access patterns
Rust-written Drivers
Drivers written in Rust are likely to have fewer bugs and therefore are more secure.
ZFS-inspired filesystem
Redox uses RedoxFS as the default filesystem, it supports similar features as ZFS with a written-in-Rust implementation.
Expect high performance and data safety (copy-on-write, data integrity, volumes, snapshots, hardened against data loss).
What is the purpose of Redox?
The main goal of Redox is to be a general-purpose OS, while maintaining security, reliability and correctness.
Redox aims to be an alternative to existing Unix systems (Linux/BSD), with the ability to run most Unix programs with only recompilation or minimal modifications.
What I can do with Redox?
As a general-purpose operating system, you will be able to do almost any task on most devices with high performance/security.
Redox is still under development, so our list of supported applications is currently limited, but growing.