3 ms·
I'd go a step farther and suggest that people start with an existing microkernel instead. Sure, it is not technically your own "OS" but microkernels really are
by gizmo686 1y ago
I'd go a step farther and suggest that people start with an existing microkernel instead. Sure, it is not technically your own "OS" but microkernels really are micro, so you don't miss much.
- convolvatron 1y agofor me the important part of 'roll your own OS' is to banish the idea that there is some magic happening underneath you that was written by machine elves.
- gizmo686 1y agoWriting an OS doesn't really do that though. At the end of the day, an OS is still just software that is run by the magic machine elves living in the hardware. Setting aside the fact that modern CPUs essentially JIT your machine code and their real execution model is completely foreign to their instruction set; a lot of OS development is still poke at a memory address to cause hardware to do something that is decidedly not setting bits in ram. Sure, writing the page table management logic will demystify how shared memory works. But you are still just writing a new page table, invoking a particular processor opcode, then trusting the elves living in the processor to tell the elves living in the MMU to update how they translate memory addresses from the processor to memory addresses on the bus.