Skip to main content

Overview

The Redox kernel is a microkernel written entirely in Rust, emphasizing safety, reliability, and performance. It forms the core of Redox OS and provides essential services for process management, memory management, and inter-process communication.

Kernel Repository

View the kernel source code on GitLab

Key Features

Microkernel Architecture

Minimal kernel design with most services running in userspace

Memory Safety

Written in Rust to prevent memory-related vulnerabilities

Process Isolation

Strong isolation between processes for enhanced security

Scheme-based I/O

Unique URL-like scheme system for resource access

Architecture

The Redox kernel follows a microkernel design philosophy, inspired by systems like seL4 and MINIX. This means:
  • Minimal kernel space: Only essential services run in kernel mode
  • Userspace drivers: Device drivers run as separate processes
  • IPC-based communication: Processes communicate through well-defined interfaces
  • Scheme-based I/O: Resources are accessed through URL-like schemes

Kernel Schemes

The kernel provides several built-in schemes for low-level operations:
# Example schemes available from the kernel
schemes = [
  "debug",     # Debugging interface
  "event",     # Event handling
  "memory",    # Memory access
  "pipe",      # Pipe communication
  "serio",     # Serial I/O
  "irq",       # Interrupt handling
  "time",      # Time services
  "sys",       # System information
]

System Initialization

The kernel initializes the system and starts essential services through the init system:
# Base initialization script
rm -rf /tmp
mkdir -m a=rwxt /tmp

notify ipcd
notify ptyd
nowait sudo --daemon

Building the Kernel

The kernel is included in the base system configuration:
[packages]
kernel = {}
The kernel is automatically built as part of the Redox OS build system. See the Build Instructions for details.

Resources

Kernel Repository

Source code and development

Redox Book

Comprehensive documentation

Contributing

How to contribute to the kernel

Developer FAQ

Common development questions

Maintainer

Jeremy Soller (@jackpot51)

Primary maintainer of the Redox kernel

Build docs developers (and LLMs) love