APC Australia

THE INS AND OUTS OF CODING AN OS

Come on an adventure into the wild and whacky world of operating systems, and figure out if you could write one too

-

Have you ever wondered what makes a PC start and run, I mean really run? Not just hand-waving “the processor boots the operating system” dismissive nonsense, which isn’t any more enlighteni­ng than saying that stuff is made of atoms. The nuts and bolts when you press the power button and the PSU fires up its 12, 5, and 3-volt lines to the motherboar­d – how does the processor even know what to start running, and how is that even loaded into memory when there’s nothing to run to do that?

We are talking (semi) software level here. If you want to know how individual hardware components work then that’s another world of glorious pain to explore – gawping at the level of insanity of the Intel 8088 architectu­re that leaves you asking “Why would you do that?” is quite the thing. We have to draw the line somewhere, as otherwise we would be descending into what those atoms are up to inside of all that silicon.

This feature is largely spun out of a thought experiment: If you were locked in a room with just a floppy disk and a PC with a blank hard drive, could you get it to boot and run an operating system? Or more to the point, what would you need to do to run an operating system? We’re going to answer that in two parts. To kick things off we’ll have a look into that thought experiment: What you need to code to get a booting system. Then we’ll actually put together an operating system using the Arch Linux build system, so you can see how all those low-level parts plug together to run a modern operating system. Deep breath, we’re going in…

 ??  ??
 ??  ??
 ??  ??

Newspapers in English

Newspapers from Australia