SLeOS – Sierra Leone Operating System | A minimal bootable x86 OS kernel built from scratch in C & Assembly, running on QEMU. Features FCFS + Round-Robin scheduling, paging memory manager, in-memory file system (SLeFS), and an interactive shell. Built by Limkokwing University students for COMP 323 – Operating Systems.
# SLeOS – Sierra Leone Operating System
## A Minimal Bootable OS Prototype Using QEMU
**Course:** COMP 323 – Operating Systems
**Institution:** Limkokwing University of Creative Technology, Sierra Leone
**Faculty:** Faculty of Information and Communication Technology
**Period:** March 2026 – July 2026
**Examiner:** Billoh Gassama
---
## Project Overview
SLeOS (Sierra Leone Operating System) is a minimal, bootable operating system kernel
built from scratch in C and x86 Assembly. It runs on QEMU (x86_64 emulator) and
addresses real-world computing challenges faced in Sierra Leone, including:
- **Low-resource computing** – designed to boot and run on minimal hardware (64 MB RAM)
- **Education access** – an open-source, locally built OS for academic learning
- **Digital inclusion** – demonstrates that OS development is achievable in developing contexts
### SDG Alignment
| SDG | Goal | How SLeOS Contributes |
|-----|------|-----------------------|
| SDG 4 | Quality Education | Open-source teaching tool for OS concepts |
| SDG 9 | Industry & Innovation | Local tech capability building |
| SDG 17 | Partnerships | Collaborative academic project |
---
## Features
### ✅ Core Requirements Met
| Feature | Status | Details |
|---------|--------|---------|
| Bootloader (GRUB Multiboot) | ✅ | `boot/boot.asm` – GRUB-compliant |
| Kernel Entry Point | ✅ | `kernel/kernel.c` – `kmain()` |
| Process Scheduler (FCFS) | ✅ | `scheduler/scheduler.h` |
| Process Scheduler (Round-Robin) | ✅ | `scheduler/scheduler.h` – configurable quantum |
| Context Switching Simulation | ✅ | PCB with full register state |
| Memory Manager (Paging) | ✅ | `memory/memory.h` – 4MB/64KB page bitmap |
| Memory Visual Output | ✅ | ASCII page map + allocation bar |
| File System (In-Memory) | ✅ | `fs/filesystem.h` – SLeFS |
| Interactive Shell | ✅ | `shell/shell.h` – SLeShell |
| VGA Text Mode Driver | ✅ | `drivers/vga.h` – 80×25 colour terminal |
| PS/2 Keyboard Driver | ✅ | `drivers/keyboard.h` – polli …