A lightweight, custom-built operating system developed for academic purposes — built from scratch to demonstrate core OS concepts.
RaiMon-OS is a lightweight operating system built as an academic project to explore and demonstrate fundamental operating system concepts including bootloading, kernel initialization, memory management, process scheduling, and basic I/O handling.
The project was developed to gain hands-on experience with low-level systems programming, hardware interaction, and how modern operating systems function at their core.
RaiMon = Rai (Rashid) + Mon (Monitor) — a personal OS built to monitor and manage system resources.
┌─────────────────────────────────────────────┐
│ RaiMon-OS │
├─────────────────────────────────────────────┤
│ [Bootloader] → [Kernel Init] │
│ │ │ │
│ [Memory Mgmt] [Process Scheduler] │
│ │ │ │
│ [Basic Shell] [I/O Handler] │
└─────────────────────────────────────────────┘
| Feature | Description |
|---|---|
| 🥾 Custom Bootloader | Loads the OS kernel from disk at startup |
| 🧠 Kernel Initialization | Sets up CPU, memory, and core services |
| 💾 Memory Management | Basic allocation and management of RAM |
| ⏳ Process Scheduling | Simple scheduler to manage running tasks |
| ⌨️ Basic Shell | Command-line interface for user interaction |
| 🖥️ Screen I/O | Text output to the display |
| 🔧 Interrupt Handling | Handles hardware and software interrupts |
| Technology | Purpose |
|---|---|
| Assembly (x86) | Bootloader and low-level hardware routines |
| C / C++ | Kernel and system services |
| QEMU / VirtualBox | OS emulation and testing environment |
| NASM | Assembler for x86 boot code |
| GCC Cross-Compiler | Compiling kernel code for bare metal |
| Makefile | Build automation |
RaiMon-OS/
│
├── project proposal/ # Initial project proposal documents
├── OS Progress presentation.pptx # Mid-progress presentation slides
├── OS_presentation.pptx # Final OS presentation
├── MID progress ID (2101042,2101041).mkv # Mid-progress demo video
├── Project video.mp4 # Final project demo video
└── README.md
📊 View Mid-Progress Presentation
📊 View Final Presentation
🎥 Watch Project Demo
- QEMU (recommended) or VirtualBox
- NASM assembler
- GCC Cross-Compiler (i686-elf-gcc)
- Make
# Clone the repository
git clone https://github.com/naimurhamim/RaiMon-OS.git
cd RaiMon-OS
# Build the OS image
make all
# Run in QEMU emulator
qemu-system-i386 -kernel raimon.bin- Create a new VM → Type: Other, Version: Other/Unknown
- Attach the
.isoor.binas the boot media - Start the VM
Hardware Layer
│
BIOS/UEFI
│
Bootloader ← Written in Assembly (NASM)
│
Kernel ← Written in C/C++
├── Memory Manager
├── Process Scheduler
├── Interrupt Handler (IDT/GDT)
├── Keyboard & Screen Driver
└── Basic Shell (CLI)
- File system support (FAT12/FAT16)
- Multi-tasking with proper context switching
- Virtual memory and paging
- Network stack (basic TCP/IP)
- GUI / graphical shell
- Driver framework for hardware support
- System call interface
Rohan Mondal (ID: 2101041)
MD Naimur Rashid (ID: 2101042)
Sourav Chakraborty (ID: 2101031)
Department of Internet of Things and Robotics Engineering
University of Frontier Technology, Bangladesh (UFTB)