Writing a Simple Operating System From Scratch (2010) [pdf]
cs.bham.ac.uk
cs.bham.ac.uk
All the "fun" problems start later - kernel architecture, USB support, modern disks, multicore CPUs, network stack, all sorts of drivers, all sorts of filesystems, and by then you're barely getting started on having something more than just a hello world printed out to a screen using legacy BIOS that is starting to get phased out by now.
Then, there is the 64bit mode of the x86-64 architecture, which is a whole new can of worms.
You'll end up rewriting the whole mess a dozen of times from scratch as you learn new things and encounter new problems.
And in the end, only the knowledge gained would be of any value, since there is exactly zero use or market for a custom OS these days, even in the niches.
Source: Wrote my own OS over the last 15 years - http://orbides.org/aprom.php
https://web.stanford.edu/class/cs140/projects/pintos/pintos....
"If I shout my graphis-card WLAN and fiddle around connecting a keyboard too..."
"I need INTEL for what ?"
"What ? Heck, why you can't install an OS on computer-Hardware ?"
(later)
"Yes, ports to connect are still there..."
"Hey, when I short-circuit this - it does an reset!"
"To add a fuse ? um why not!"
(-;
A wiki isn't the best format, at least for me.
Especially when I am dumped into a random wiki for the first time. Starting off in Minecraft years ago, people said "read the wiki first!" with no link to the first page I should read, or any successive pages. Completely useless.
Maybe I'm missing a nice table of contents that every wiki secretly has hidden away, but tables of content exist for a reason. Discoverability.