Ghost (operating system)
| Developer | Max Schlüssel |
|---|---|
| Written in | C, C++ |
| OS family | POSIX compatible |
| Working state | Current |
| Source model | Open source |
| Initial release | June 26, 2015 |
| Latest release | v0.18.0 / February 3, 2025 |
| Platforms | x86 |
| Kernel type | Microkernel |
| Default user interface | Custom window manager |
| License | GNU General Public License |
| Official website | www |
Ghost is an open-source hobbyist operating system project and micro kernel for the Intel x86 platform. It provides a modular, clean codebase for exploring modern operating system concepts, especially related to microkernel architectures. The project was first publicly released in 2015 under the GNU General Public License.[1]
Technical overview
Architecture
The kernel employs a microkernel architecture, where core functionalities such as inter-process communication, memory and task management reside in a minimal kernel. The system emphasizes a modular user-space driver concept where system components such as device drivers, the windowing system and other system services run in user space.
This design enhances system stability by isolating failures to individual modules rather than the entire system. Communication between these modules is facilitated via a message queue-based mechanism, which supports the system's modularity and fault isolation.
Key features
The project is primarily written in C/C++[1] with parts of Assembly for low-level hardware interaction. It supports symmetric multiprocessing and preemptive multitasking[2]. The system offers a variety of system calls and inter-process communication methods available through the libapi application library.
A basic graphical user interface is provided by a compositing window management server. The server uses the Cairo graphics library and freetype for font rendering. A toolkit library (libwindow) is available for applications to create windows and react on component events, where the interface works similar to the Swing (Java) widget toolkit.
The implemented drivers support video output for the VMWare SVGA graphics controller, VESA VBE support on real hardware as well as PS/2 mouse and keyboard input. Due to basic POSIX compatibility, a set of open-source libraries like zlib are ported to the system. The documentation[3] describes details about the system.
Asynchronous handling
This principle of separation into asynchronous operations in the context of drivers and applications can be well observed in the implementation of the terminal application. In GUI mode, the terminal requests a shared memory buffer from the window server to perform all rendering. The window server in turn communicates with the respective video driver to set up graphics and provide the framebuffer. Mouse and keyboard input are again isolated in a separate PS/2 driver process that sends input through a pipe to the window server.
Reception
Within open-source and educational communities, Ghost OS has attracted attention[4] for its clean code structure and modular design. It is often compared to other educational OS projects like ToaruOS and SerenityOS.
The project has a derivate[5] called the MeetixOS project, an independent fork of the system with focus on modern C++20 support.
History
The Ghost operating system was started in 2015[2] by German software developer Max Schlüssel as a personal project for exploring microkernel design approaches.
It was first released publicly[1] on GitHub in 2015 under the GNU General Public License v3 (GPLv3), a license chosen to ensure the project and its derivatives remained open-source.
See also
- HelenOS - another operating system with a similar approach
- ToaruOS - a hobbyist operating system developed from scratch
- Sortix - a self-hosting modern POSIX operating system
- TempleOS - an esoteric lightweight operating system
References
- ↑ 1.0 1.1 1.2 "maxdev1/ghost". GitHub. June 16, 2015.
- ↑ 2.0 2.1 Schlüssel, Max (February 2, 2025). "About Ghost". Retrieved February 2, 2025.
- ↑ "Ghost system documentation". February 2, 2025. Retrieved February 2, 2025.
- ↑ Termansen, Jonas (March 6, 2018). "Notable projects of OSDev community". Retrieved February 2, 2025.
- ↑ Cicognani, Marco (August 5, 2021). "The MeetixOS project".
External links
- Repository on GitHub
- Official website
- MeetixOS, a fork of the project, see GitHub repository
This article "Ghost (operating system)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Ghost (operating system). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
