Redox is a
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
microkernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
written in the programming language
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH), ...
, which has a focus on safety, stability, and performance.
Redox aims to be secure, usable, and free. Redox is inspired by prior kernels and operating systems, such as
SeL4,
MINIX,
Plan 9 Plan 9 or Plan Nine may refer to:
Music
* Plan 9 (band), a psychedelic rock band from Rhode Island
* ''Plan 9'', an album by Big Guitars From Memphis with Rick Lindy
* "Plan 9", a song on the 1993 album ''Gorgeous'' by electronica band 808 Stat ...
, and
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Be ...
. It is similar to
GNU
GNU () is an extensive collection of free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any ...
and BSD, but is written in a memory-safe language. It is
free and open-source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
distributed under an
MIT License
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license co ...
.
Redox gets its name from the
reduction-oxidation reactions in chemistry; one redox reaction is the corrosion of iron, also called
rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH), ...
.
Design
The Redox operating system is designed to be secure.
This is reflected in two design decisions:
# Using the programming language
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH), ...
for implementation
# Using a
microkernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
design, similar to
MINIX
Components
Redox provides packages (
memory allocator
Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when ...
,
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
,
display manager, core utilities, etc.) that together make up a functional operating system. Redox relies on an ecosystem of software written in Rust by members of the project.
* Redox kernel – derives from the concept of microkernels, with inspiration from
MINIX
* Ralloc – memory allocator
*
TFS file system – inspired by the
ZFS
ZFS (previously: Zettabyte File System) is a file system with volume management capabilities. It began as part of the Sun Microsystems Solaris operating system in 2001. Large parts of Solaris – including ZFS – were published under an ope ...
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
* Ion shell – the underlying library for shells and command execution in Redox, and the default shell
* pkgutils – package manager
* Orbital windowing system – display and window manager, sets up the ''orbital:'' scheme, manages the display, and handles requests for window creation, redraws, and event polling
* relibc – C standard library
Command-line applications
Redox supports
command-line interface (CLI) programs, including:
* Sodium –
vi-like editor that provides syntax highlighting
* Rusthello – advanced
Reversi
Reversi is a strategy board game for two players, played on an 8×8 uncheckered board. It was invented in 1883. Othello, a variant with a fixed initial setup of the board, was patented in 1971.
Basics
There are sixty-four identical game pieces ...
AI; is highly
concurrent, serving as proof of Redox's multithreading abilities; supports various AI strategies, such as brute forcing, minimax, local optimizations, and hybrid AIs
Graphical applications
Redox supports
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
(GUI) programs, including:
*
NetSurf – a lightweight
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
which uses its own
layout engine
* Calculator – a
software calculator
A software calculator is a calculator that has been implemented as a computer program, rather than as a physical hardware device.
They are among the simpler interactive software tools, and, as such, they provide operations for the user to sele ...
which provides functions similar to the
Windows Calculator
Windows Calculator is a software calculator developed by Microsoft and included in Windows. In its Windows 10 incarnation it has four modes: standard, scientific, programmer, and a graphing mode. The standard mode includes a number pad and button ...
program
* Editor – simple
text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be u ...
, similar to
Microsoft Notepad
Windows Notepad is a simple text editor for Windows; it creates and edits plain text documents. First released in 1983 to commercialize the computer mouse in MS-DOS, Notepad has been part of every version of Windows ever since.
History
In May ...
* File Browser – a
file manager
A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening (e.g. viewing, playing, editing or print ...
that displays icons, names, sizes, and details for files; uses the ''launcher'' command to open files when they are clicked
* Image Viewer –
Image viewer
An image viewer or image browser is a computer program that can display stored graphical images; it can often handle various graphics file formats. Such software usually renders the image according to properties of the display such as color depth ...
for simple file types
* Pixelcannon – 3D renderer, can be used to
benchmark the Orbital desktop
* Orbterm – ANSI type
terminal emulator
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote ter ...
History
Redox was created by Jeremy Soller and was first published on 20 April 2015 on
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
. As of July 2021, the Redox repository had a total of 79 contributors.
References
External links
*
Official GitLab instance*
*
{{Unix
Free software operating systems
Free software programmed in Rust
Hobbyist operating systems
Microkernel-based operating systems
Software using the MIT license
Unix variants