Ghost is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
hobbyist operating system
The development of a hobbyist operating system is one of the more involved and technical options for a computer hobbyist.
The definition of a hobby operating system can sometimes be vague. It can be from the developer's view, where the developers ...
and
kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine lea ...
. It has been under development since 2014
and is currently compatible with the
x86 platform.
The system is based on 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, ...
and features
symmetric multi-processing and
multitasking. Most of the kernel and system program are written in
C++.
Design
The architectural concept is a micro-kernel design. Many of the functionalities that are usually integrated in the kernel in a
monolithic
A monolith is a monument or natural feature consisting of a single massive stone or rock.
Monolith or monolithic may also refer to:
Architecture
* Monolithic architecture, a style of construction in which a building is carved, cast or excavated ...
or
hybrid
Hybrid may refer to:
Science
* Hybrid (biology), an offspring resulting from cross-breeding
** Hybrid grape, grape varieties produced by cross-breeding two ''Vitis'' species
** Hybridity, the property of a hybrid plant which is a union of two diff ...
system are implemented as user-level applications. All system drivers are running as user-space processes. This approach attempts to improve stability and to avoid crashes due to faulty access or memory corruption. The system supports 32-bit
ELF binary and shared object loading.
The kernel provides a system call
API that is used for all inter-process communications and system commands. Driver processes access this interface to manage memory or request direct resource access. The
window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunct ...
provides a
messaging
A message is a discrete unit of communication intended by the source for consumption by some recipient or group of recipients. A message may be delivered by various means, including courier, telegraphy, carrier pigeon and electronic bus ...
interface to other processes
Compatibility
The
libc
The C standard library or libc is the standard library for the C programming language, as specified in the ISO C standard. ISO/ IEC (2018). '' ISO/IEC 9899:2018(E): Programming Languages - C §7'' Starting from the original ANSI C standard, it wa ...
implementation is partially
POSIX.1 compatible. The implementation incorporates the libm from the
musl C library. The C++ standard library
libstdc++ is supported. This was introduced to allow porting of third-party software, especially from the
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 ...
environment, which heavily depend on
standard C and POSIX functions.
See also
*
TempleOS – another operating system developed largely from scratch
*
ToaruOS
ToaruOS (also known as ToAruOS or とあるOS; 'toaru' is Japanese roughly equivalent to 'a certain') is a hobby operating system and kernel developed largely independently (notably contrary to most modern OSes, which are based on existing so ...
– similar hobbyist operating system by K. Lange
References
{{Hobbyist operating systems
Free software operating systems
Free software programmed in C++
Hobbyist operating systems
Microkernel-based operating systems
Self-hosting software
X86 operating systems
Operating system distributions bootable from read-only media