A 32-bit educational OS built in C and Assembly for x86, with its own kernel, bootloader, and GUI.
XuNet OS is an educational operating system designed to help developers understand the fundamentals of OS development. Built from scratch in C and Assembly, it provides a hands-on experience with low-level programming concepts and system architecture.
Our goal is to create a clean, well-documented codebase that serves as both a learning resource and a foundation for experimental OS development. Whether you're a student, researcher, or hobbyist, XuNet OS offers a practical platform for exploring operating system concepts.
Bare-metal implementation with protected mode support and memory management
Basic graphical interface with window management and drawing primitives
Custom bootloader for system initialization and kernel loading
Basic file system implementation (Work in Progress)
Hardware interrupt handling and keyboard input processing
Command-line interface with basic system commands
Clean interface for system calls and hardware access
Advanced Power Management for proper system shutdown
Core mathematical operations in binary and hexadecimal
Essential for memory addressing and circular buffers
2D graphics calculations and display transformations
Memory address calculations and page table operations
Programmable Interval Timer calculations and scheduling
# Clone the repository
git clone https://github.com/InboraStudio/XuNetOS-32-bit.git
cd XuNetOS-32-bit
# Build the OS
make all
# Run in QEMU
make run
# Create bootable ISO
make iso
Note: Make sure to set up z_tools directory before building. See documentation for details.
Subsystem | Status | Notes |
---|---|---|
Bootloader | ✅ | FAT12 support, kernel loading |
Kernel | ✅ | Basic memory management |
Filesystem | ⚠️ | Basic implementation |
GUI | ⚠️ | Window management in progress |
Network Stack | 🔴 | Planned for v2.0 |