Redox (operating system)

Last updated
Redox
Redox logo 2015.svg
Redox running Orbital.png
Redox running Ion shell in Orbital windowing system
Developer Jeremy Soller,
Redox Developers [1]
Written in Rust, assembly
OS family Unix-like
Working stateCurrent
Source model Free software
Initial release20 April 2015;7 years ago (2015-04-20)
Latest preview 0.8.0 / 24 November 2022;4 months ago (2022-11-24)
Repository
Marketing target Desktop, workstation, server
Available in English
Package manager pkgutils
Platforms x86-64; ARM64 in development [2]
Kernel type Microkernel
Userland Custom
Influenced by POSIX [3]
Default
user interface
Command-line, Orbital
License MIT
Official website www.redox-os.org

Redox is a Unix-like microkernel operating system written in the programming language Rust, which has a focus on safety, stability, and performance. [4] [5] [6] Redox aims to be secure, usable, and free. Redox is inspired by prior kernels and operating systems, such as SeL4, MINIX, Plan 9, and BSD. It is similar to Linux and BSD, but is written in a memory-safe language. [7] It is free and open-source software distributed under an MIT License.

Contents

Redox gets its name from the reduction-oxidation reactions in chemistry; one redox reaction is the corrosion of iron, also called rust.

Design

The Redox operating system is designed to be secure. [4] This is reflected in two design decisions:

  1. Using the programming language Rust for implementation
  2. Using a microkernel design, similar to MINIX

Components

Redox provides packages (memory allocator, file system, 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.

Command-line applications

Redox supports command-line interface (CLI) programs, including:

Graphical applications

Redox supports graphical user interface (GUI) programs, including:

History

Redox was created by Jeremy Soller and was first published on 20 April 2015 on GitHub. [8] As of July 2021, the Redox repository had a total of 79 contributors. [9]

Related Research Articles

<span class="mw-page-title-main">Executable and Linkable Format</span> Standard file format for executables, object code, shared libraries, and core dumps.

In computing, the Executable and Linkable Format, is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.

<span class="mw-page-title-main">Minix</span> Unix-like operating system

MINIX is a Unix-like operating system based on a microkernel architecture. Since version 2.0, it has been Portable Operating System Interface (POSIX) compliant.

<span class="mw-page-title-main">Microkernel</span> Kernel that provides fewer services than a traditional kernel

In computer science, a microkernel 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, thread management, and inter-process communication (IPC).

A monolithic kernel is an operating system architecture where the entire operating system is working in kernel space. The monolithic model differs from other operating system architectures in that it alone defines a high-level virtual interface over computer hardware. A set of primitives or system calls implement all operating system services such as process management, concurrency, and memory management. Device drivers can be added to the kernel as modules.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

Darwin is the core Unix operating system of macOS, iOS, watchOS, tvOS, iPadOS and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, BSD, Mach, and other free software projects' code, as well as code developed by Apple.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which in addition to macOS is also the basis for the Apple TV Software, iOS, iPadOS, watchOS, and tvOS OSes. XNU is an abbreviation of X is Not Unix.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

UEFI is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of firmware that implement these specifications are AMI Aptio, Phoenix SecureCore Tiano, TianoCore EDK II and InsydeH2O.

These tables provide a comparison of operating systems, of computer devices, as listing general and technical information for a number of widely used and currently available PC or handheld operating systems. The article "Usage share of operating systems" provides a broader, and more general, comparison of operating systems that includes servers, mainframes and supercomputers.

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.

A kernel is a component of a computer operating system. A comparison of system kernels can provide insight into the design and architectural choices made by the developers of particular operating systems.

<span class="mw-page-title-main">Tanenbaum–Torvalds debate</span> 1990s debate regarding the Linux kernel

The Tanenbaum–Torvalds debate was a written debate between Andrew S. Tanenbaum and Linus Torvalds, regarding the Linux kernel and kernel architecture in general. Tanenbaum, the creator of Minix, began the debate in 1992 on the Usenet discussion group comp.os.minix, arguing that microkernels are superior to monolithic kernels and therefore Linux was, even in 1992, obsolete. The debate has sometimes been considered a flame war.

<span class="mw-page-title-main">Minix 3</span> Unix-like operating system

Minix 3 is a small, Unix-like operating system. It is published under a BSD-3-Clause license and is a successor project to the earlier versions, Minix 1 and 2.

<span class="mw-page-title-main">Linux</span> Family of Unix-like operating systems

Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name "GNU/Linux" to emphasize the importance of GNU software, causing some controversy.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

<span class="mw-page-title-main">Kernel (operating system)</span> Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

<span class="mw-page-title-main">Neofetch</span> System information shell tool

Neofetch is a system information tool written in the Bash shell scripting language. On the left side is always a logo of the distribution, rendered in ASCII art. Unlike a system monitor, the tool only features a static display of the computer's basic hardware and software configurations and their versions, typically operating system, the host, uptime, package managers, the shell, display resolution, desktop environment, window manager, themes and icons, the computer terminal, CPU, GPU, and RAM. Neofetch can also display images on the terminal with w3m-img in place of the ASCII logo art.

References

  1. "Redox Contributors". GitLab. Retrieved 24 March 2019.
  2. "Porting Redox to ARM (AArch64)". 6 August 2018.
  3. "What is Redox?". Archived from the original on 24 May 2020. Retrieved 16 May 2020.
  4. 1 2 "Redox - Your Next(Gen) OS - Redox - Your Next(Gen) OS". www.redox-os.org.
  5. Weisinger, Dick (4 May 2016). "Operating Systems: Rust Redox – An Next-Generation Attempt to Plug Linux OS Gaps". Formtek. Formtek, Inc. Retrieved 17 January 2017.
  6. . Yegulalp, Serdar (21 March 2016). "Rust's Redox OS could show Linux a few new tricks". InfoWorld. San Francisco: IDG Communications, Inc. Retrieved 17 January 2017.
  7. "redox-os/redox". May 12, 2021 via GitHub.
  8. Soller, Jeremy (jackpot51) (20 April 2015). "Initial commit of Rustboot-based OS". GitHub. GitHub, Inc. Retrieved 17 January 2017.
  9. "Redox Repository". GitHub. Retrieved 2016-03-26.