A custom 32 BitOperating System

32 Bit Operating System

I developed a custom 32-bit operating system from the ground up - from the x86 Assembly Bootloader all the way up, implementing core OS concepts and functionality. This educational project showcases a comprehensive approach to OS development, featuring a robust process management system with a full process lifecycle (fork, exit, wait, exec), interrupt handling with an Interrupt Descriptor Table, and basic memory management. Notable implementations include a custom executable format for program loading, a simple terminal driver for I/O operations, a system call interface, and a CPU scheduler based on the Completely fair Scheduler (CFS) algorithm. This project demonstrates a deep understanding of low-level OS operations, from assembly-level interrupt handling to high-level process management, providing a solid foundation in operating system principles and architecture.

This is an ongoing project. See more details on the GitHub repository below:

Full Source Code github.com/jammel-yeboah/32_bit_os