Comment by ethin

12 hours ago

Because writing even a remotely modern OS is really really hard. I speak from experience. Even getting old hardware from the 90s and early 00s to work is a pain. Then of course you have the more modern standards (although even SATA is still modern for some definition of modern, but AHCI is a nightmare), and then you have things like modern NICs and GPUs which has documentation that is very hard to find, or in the case of even modern Intel GPUs, documentation that is 13 plus volumes and is absolutely massive... And the list just goes on and on and on. Before you know it your codebase is 100k LoC and like 80-90 percent of it is device drivers alone. And if you thought all that was bad, wait until you get into ACPI...

Yeah. OS dev is, I think it's safe to say, the hardest and most difficult project a software engineer could do, right alongside a modern compiler if you ditched LLVM and decided to make your own backend.