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 services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
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
L4 is a family of second-generation microkernels, used to implement a variety of types of operating systems (OS), though mostly for Unix-like, ''Portable Operating System Interface'' (POSIX) compliant types.
L4, like its predecessor microkernel ...
,
MINIX,
Plan 9, 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, Berk ...
. It is similar to
GNU
GNU () is an extensive collection of free software (383 packages as of January 2022), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operat ...
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 comp ...
.
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,
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 larg ...
,
display manager
In the X Window System, an X display manager is a graphical login manager which starts a login session on an X server from the same or another computer.
A display manager presents the user with a login screen. A session starts when a user s ...
, 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 larg ...
* 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
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(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
Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to:
Law
* Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea''
* Concurring opinion (also called a "concurrence"), a ...
, 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 users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
(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 butto ...
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 us ...
, 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 pr ...
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
Benchmark may refer to:
Business and economics
* Benchmarking, evaluating performance within organizations
* Benchmark price
* Benchmark (crude oil), oil-specific practices
Science and technology
* Benchmark (surveying), a point of known elevati ...
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 termin ...
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, continuous ...
. 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