Ghost is an open-source hobbyist operating system and kernel. It has been under development since 2014 and is currently compatible with the x86 platform.

The system is based on a microkernel 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 or hybrid 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 provides a messaging interface to other processes

Compatibility 
The libc 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 environment, which heavily depend on standard C and POSIX functions.

See also 
 TempleOS – another operating system developed largely from scratch
 ToaruOS – similar hobbyist operating system by K. Lange

References 

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