It's a 32-bit x86 operating system written entirely in C and x86 Assembly with no external libraries.
What it has: Custom bootloader and kernel VESA framebuffer graphics (1920x1080, double-buffered) Window manager with draggable, overlapping windows macOS-inspired dock with transparency PS/2 keyboard and mouse drivers ATA hard drive driver with filesystem PCI bus enumeration RTL8139 network driver (WIP) Real-time clock Runs on just 16MB RAM (up to 10 windows simultaneously)
Built-in apps: Terminal (with DOS mode), Notepad (save/load), Calculator, Paint (multiple colors and brush sizes), Snake game, Settings (theme switching), and System Info.
Currently works best on QEMU, VirtualBox, and VMware. Real hardware support is still a work in progress.
Next goal: TCP/IP networking stack.
I'd love any feedback, suggestions, or criticism. This is my first OS project and I learned mass amounts while building it. Happy to answer any technical questions!
Luka12-dev•1h ago
cyberax•1h ago
Luka12-dev•56m ago
I think AI is a great learning tool when you're trying to understand low-level concepts for the first time.
gmueckl•1h ago
Luka12-dev•57m ago
Assembly for anything that HAS to be assembly: bootloader, GDT/IDT setup, interrupt handlers, context switching, and port I/O wrappers.
C for everything else: window manager, apps, drivers, GUI rendering.
Some parts I probably could have done in C with inline assembly but I found writing pure ASM for the low-level stuff helped me understand exactly what was happening at the hardware level.
What choices looked different to you? I'd love to hear your perspective always looking to improve!