MicroOS C and MicroOS ASM is NOT the same operating systems, their philosophy is DIFFERENT. However, they are in the same family.
A small 32-bit x86 Unix-like operating system written primarily in C, with a minimal assembly bootstrap.
MicroOS C is the C-based evolution of the MicroOS project, focused on learning low-level systems programming, kernel development, memory management, hardware interaction, and operating-system fundamentals.
Status: Experimental / Work in Progress
- 32-bit x86 kernel
- GRUB bootloader
- Multiboot-compatible boot process
- VGA text-mode output
- Basic keyboard input
- Simple command shell
- Basic user/password handling
- Freestanding C kernel
- Custom linker script
- QEMU support
- ISO generation with GRUB
MicroOS C currently targets:
Architecture: i386
Mode: 32-bit protected mode
Bootloader: GRUB
Language: C + Assembly
Firmware: BIOS / Legacy boot through GRUB
Display: VGA text mode
A Linux environment with the following tools:
- GCC
- GNU Binutils
- GRUB utilities
grub-mkrescue- xorriso
- QEMU
On Debian/Ubuntu-based systems, the required packages can generally be installed with:
sudo apt install gcc gcc-multilib binutils grub-pc-bin xorriso qemu-system-x86Clone the repository and run:
makeThis builds the kernel and creates the bootable ISO.
Start MicroOS C with Make:
make runThe boot process is handled by GRUB.
The general flow is:
BIOS
↓
GRUB
↓
Multiboot entry
↓
boot.S
↓
C kernel
↓
MicroOS shell
Assembly is kept minimal where possible, while the main kernel logic is implemented in C.
MicroOS C includes a small kernel-level shell for interacting with the system.
The shell is intentionally simple and is expected to grow as more kernel functionality is implemented.
Future shell functionality may include:
- File system
- Process management
- Memory information
- Hardware information
The project is mainly focused on implementing operating-system fundamentals from the ground up.
MicroOS C is intentionally kept small and understandable.
The project prioritizes:
- Simple code
- Explicit low-level behavior
- Minimal dependencies
- Learning over abstraction
- Understandable kernel architecture
MicroOS C is not intended to compete with Linux, BSD, or other production operating systems.
It is a personal systems-programming project designed to explore how an operating system works underneath the abstraction layers.
MicroOS C is part of the broader MicroOS project.
The original MicroOS implementation explores 16-bit x86 real-mode development, while MicroOS C moves the project toward a more traditional 32-bit protected-mode kernel architecture.
See the repository license for details.
MicroOS C is experimental software.
It is not intended for production use, real hardware deployment, or security-critical workloads.
Use QEMU or another emulator for development and testing.