upvote
How did you decide between assembler and C for various parts of the kernel? Some choices are very different from what I would have picked, so I'm curious about your thought process.
reply
My general rule was:

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!

reply
How much was built with the AI? An OS is definitely a fun project and the classic x86 is a pretty good platform for that!
reply
I wrote the core architecture and most of the code myself. I used Claude occasionally to help debug tricky issues and understand some concepts, but the design decisions and implementation are mine.

I think AI is a great learning tool when you're trying to understand low-level concepts for the first time.

reply