From the beginning⊠Edit on GitHub
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?
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.