OSPP (OS++) is a hobbyist kernel project designed to explore low-level system programming using C++17. Built for x86 architectures, it implements a modular monolithic kernel with core functionalities like memory management, interrupt handling, and task scheduling. The project leverages C++'s type safety and abstractions to create a clean, extensible system, debugged and tested on both emulators (QEMU, Bochs) and real hardware.
For Debian-based systems, install the following packages:
sudo apt -y install qemu qemu-system gcc g++ binutils make cmake grub-pc-
Initialize Disk Image (creates a 32MB disk image with ext2 filesystem and GRUB):
./utils.sh init
-
Build and Pack Kernel:
./utils.sh pack [Debug|Release] -
Run Options:
- QEMU:
./utils.sh run - QEMU with KVM:
./utils.sh runk - Bochs:
./utils.sh runb - Debug with GDB:
./utils.sh rund
- QEMU:
-
Manual Build:
cmake -B build . -DCMAKE_BUILD_TYPE=Debug make -C build -j$(nproc)
Binaries are output to the
output/directory.
Inspired by OSDev.org and open-source community resources.