Ghost is a hobby operating system for the Intel x86 platform. The project is licensed as GPLv3. It was started as a research project to learn more about low-level software programming and computer internals. The sources are available on GitHub.

Features

The kernel and the userspace applications are written from scratch in C++ and Assembly (and some C). It is not based on any existing kernel. There is a POSIX.1 compatibility layer to simplify porting some software to the system.

Micro-kernel

Symmetric multi-processing

Patched GCC (OS specific toolchain)

IPC (pipes, signals, messages, shared memory)

ELF executable & shared library support

libc, self-made

libghostapi, kernel API library

libghostuser, simplified file I/O, creating UIs etc.

libstdc++ port

VESA video driver

Window server (GUI with homemade toolkit)

PS/2 keyboard & mouse driver

Userspace filesystem driver support

Serial COM1 debug interface

Virtual 8086 for BIOS calls

Copy-on-write implementation, fork()





About me

My name is Max and I'm a software developer from Bavaria, Germany. I started Ghost in 2014 because I wanted to gain knowledge about how operating systems work and what happens under the hood, and well - it's just fun to build something from scratch. The biggest sources of knowledge are the OSDev Forums and wiki and the LowLevel sites.

If you are interested in collaboration or have any questions, feel free to contact me at lokoxe@gmail.com.

- Max Schlüssel



