A 32-bit monolithic kernel for the x86 architecture
HorizonOS is a hobby kernel targeting x86 systems, designed as a learning platform for low-level systems programming. Built from scratch and using the GRUB bootloader, it demonstrates core operating system concepts while maintaining simplicity and readability.
- Monolithic kernel design for single-processor systems
- Basic memory management (paging, frame allocation) supporting up to 4GB RAM
- Preemptive multitasking implementation
- Minimal ACPI parsing capabilities
- PS/2 keyboard driver
- Custom C library (libc) in development
- Basic math library (libm)
- Multi-core support
- PCI device enumeration
- USB drivers and mouse support
- Network stack support and ethernet drivers
- Graphical display support
- Improved filesystem support
- i386-elf cross-compiler
- NASM assembler
- GRUB 2.0+
- QEMU (for emulation)
sudo apt install nasm grub-pc-bin qemu-system-i386
sudo sh install-cross-compiler.sh
make all
make run
The horizonos.iso file will be generated in the repository's root.
This will:
- Build the kernel ISO
- Launch QEMU with:
- 256MB RAM
- CD-ROM boot
- Serial output
- VGA display
- Logging to debug/ directory
Contributions are welcome ! Feel free to open issues and send pull requests.
Distributed under the MIT License. See LICENSE
for more information.
Note: This is experimental software - use at your own risk. Not recommended for production environments or critical systems.