Introduction
Introduction and Getting Started
1.
Introducing Redox
1.1.
Our Goals
1.2.
Our Philosophy
1.3.
Why a New OS?
1.4.
Redox Use Cases
1.5.
Comparing Redox to Other OSes
1.6.
Why Rust?
1.7.
Side Projects
1.8.
Influences
1.9.
Hardware Support
1.10.
Important Programs
2.
Getting started
2.1.
Running Redox in a virtual machine
2.2.
Running Redox on real hardware
2.3.
Installing Redox on a drive
2.4.
Trying Out Redox
2.5.
Building Redox
2.6.
Native Build
2.7.
From Nothing To Hello World
2.8.
Configuration Settings
2.9.
Package Management
2.10.
Downloading packages with pkg
2.11.
Tasks
2.12.
Questions and feedback
Architecture and Design
3.
Design Overview
4.
System Design
4.1.
Microkernels
4.2.
Redox kernel
4.3.
Boot Process
4.4.
Memory Management
4.5.
Scheduling
4.6.
System Services in User Space
4.7.
Drivers
4.8.
RedoxFS
4.9.
Graphics and Windowing
4.10.
Security
4.11.
Features
5.
Schemes and Resources
5.1.
Scheme-rooted Paths
5.2.
Resources
5.3.
Schemes
5.4.
"Everything is a File"
5.5.
Stitching it all together
5.6.
Scheme Operation
5.7.
Event Scheme
5.8.
An Example
6.
Programs and Libraries
6.1.
Components
6.2.
GUI
6.3.
Shell
6.4.
System Tools
Developing with and for Redox
7.
Developing Overview
8.
The Redox Build Process
8.1.
Advanced Podman Build
8.2.
Advanced Native Build
8.3.
Working with i686
8.4.
Working with ARM64
8.4.1.
Raspberry Pi
8.5.
Troubleshooting the Build
8.6.
Build System
8.7.
Build Phases
9.
Developing for Redox
9.1.
Including Programs in Redox
9.2.
Coding and Building
9.3.
Porting Applications using Recipes
9.4.
Porting Case Study
9.5.
Quick Workflow
9.6.
Libraries and APIs
9.7.
Developer FAQ
9.8.
References
9.9.
Continuous Integration
9.10.
Performance
10.
Contributing
11.
Best practices and guidelines
11.1.
Literate programming
11.2.
Writing docs correctly
11.3.
Style
11.4.
Rusting properly
11.5.
Avoiding Panics
11.6.
Testing Practices
12.
Using Redox GitLab
12.1.
Signing in to GitLab
12.2.
Repository Structure
12.3.
Creating Proper Bug Reports
12.4.
How to do a pull request properly
12.5.
Filing Issues
13.
Communication
13.1.
Chat
Light (default)
Rust
Coal
Navy
Ayu
The Redox Operating System
System Design
This chapter will discuss the design of Redox.