This is the system documentation of the Ghost operating system.

This project is a hobby operating system for the Intel x86 platform with almost all components written from scratch. The kernel follows a microkernel design. This documentation contains both conceptual and technical details for various parts of the system.

This file is supposed to be compiled with AsciiDoctor (http://asciidoctor.org/), see the script generate.sh.


The contents of this documentation are split in sections for each system component. On the top of each page there’s a link back to this home page.

  • Tooling section

  • Loader - initial boot code that loads the kernel to higher memory

  • Kernel section - documentation about the kernel itself

    • Tasking contains everything about processes and threading

    • Memory layout explains the memory layout

  • libapi - documentation for the kernel API wrapper library

  • libc - documentation for the C library implementation

  • Ramdisk - documentation about the Ramdisk format & generation

  • port.sh - manual for the porting utility

  • Spawning - describes process creation