Skip to content

A technical explainer by @kognise of how your computer runs programs, from start to finish.

License

Notifications You must be signed in to change notification settings

shmueld/putting-the-you-in-cpu

 
 

Repository files navigation

Putting the "You" in CPU

A technical explainer of how your computer runs programs, from start to finish.

by @kognise and @hackclub


From the beginning...

I've done a lot of things with computers, but I've always had a gap in my knowledge: what exactly happens when you run a program on your computer? I thought about this gap — I had most of the requisite low-level knowledge, but I was struggling to piece everything together. Are programs really executing directly on the CPU, or is something else going on? I've used syscalls, but how do they work? What are they, really? How do multiple programs run at the same time?

A scrawled digital drawing. Someone with long hair is confused as they peer down at a computer ingesting binary. Suddenly, they have an idea! They start researching on a desktop computer with bad posture.

I cracked and started figuring as much out as possible. There aren't many comprehensive systems resources if you aren't going to college, so I had to sift through tons of different sources of varying quality and sometimes conflicting information. A couple weeks of research and almost 40 pages of notes later, I think I have a much better idea of how computers work from startup to program execution. I would've killed for one solid article explaining what I learned, so I'm writing the article that I wished I had.

And you know what they say... you only truly understand something if you can explain it to someone else.

In a hurry? Feel like you know this stuff already?

Read chapter 3 and I guarantee you will learn something new. Unless you're like, Linus Torvalds himself.


Continue to Chapter 1: The "Basics" »
(cpu.land)

About

A technical explainer by @kognise of how your computer runs programs, from start to finish.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MDX 74.4%
  • Astro 15.7%
  • CSS 8.5%
  • JavaScript 1.1%
  • TypeScript 0.3%