dark mode light mode Search Menu
Search

Give it the Boot!

machu. on Flickr

When an operating system starts up, it has to load all the little bits that keep everything running. Sometimes a program will load a bigger program, which in turn will load an even bigger program, in a chain that continues until the operating system is ready to go.

But have you ever wondered what starts the whole process? You need code on the PC’s Random Access Memory (called the RAM( in order to run code, but when you turn on the PC, its RAM is empty. There’s nothing there to actually launch the operating system loading process!

One solution is to have the user run the code themselves, but that’s not ideal. In the best-case scenario, we want the PC to load itself. But how do you do that?

The best way to do this is to have a tiny chunk of code pre-installed on a computer. When the computer turns on, this tiny piece of code sets off a chain of events that help build the operating system. It starts off the compiling of programming language, which then, in turn, sets up compilers for other programming languages, which then compile and run all the features in your operating system.

Have you seen those videos where someone sets off a chain of dominos that reveals a picture at the end? Usually the starting dominos cascade off of one another, where one domino eventually sets off tens of rows of dominos through a chain reaction.

An operating system is sort of like those dominos, to begin with. It’s all set up so that, when the first domino falls, everything else falls into place. All it needs is that tiny chunk of code to set everything off.

But if the RAM is empty, where is this little bit of code stored? It actually lives in your motherboard, in a section called the ROM. Don’t get it mixed up with RAM, through — “ROM” stands for “Read Only Memory,” because the code inside is so important that nobody is allowed to go in there and change it.

When you power on your PC, this code wakes up, sets off the first line of code to load the rest of the computer, and goes back to sleep again. A very small job at first glance, but much like the domino art, its initial prod blossoms into something much greater.

But why is it called a “bootstrapper?” The term originates from the phrase “to pull yourself up from your own bootstraps,” which means to do something without any external help. And we call this code the “bootstrapper” because that’s what it does; it helps the PC boot without the user needing to manually run code.

So the next time you push the power button on your computer, think about that tiny “seed” of code that helps everything else load without you needing to do a thing. Computers are really amazing when you look at them closely!

Learn More

What is a bootstrap program?

https://www.tutorialspoint.com/what-is-a-bootstrap-program

Bootstrapping

https://en.wikipedia.org/wiki/Bootstrapping

Bootstrap definition

https://www.techopedia.com/definition/3328/bootstrap

Bootstrapping

https://www.cs.clemson.edu/course/cpsc424/material/Booting%20Shutting%20Down/Bootstrapping.pdf

Brief history of bootloading

https://learn.adafruit.com/bootloader-basics/a-brief-history-of-bootloading

Bootstrapping in business

https://www.shopify.com/encyclopedia/bootstrapping

Pull up by your bootstraps

https://uselessetymology.com/2019/11/07/the-origins-of-the-phrase-pull-yourself-up-by-your-bootstraps/