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.
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.
- 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()
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 firstname.lastname@example.org.
- Max Schlüssel