What happens when I run a program?

The shell forks itself, the child replaces its body with your executable, the loader builds an address space from the file’s segments, links shared libraries, sets up a stack and a heap, and the scheduler eventually puts the process on a core. Zoom in to see where a `Segmentation fault` at startup can actually come from.

Input./serverBetween typing `./server` and the first instruction of `main`, what does the OS build?
ZoomThe user’s view: type a name, the program runs. "Runs" hides a process, an address space and a scheduler.
Click a node to see what happens there, what state changes, how it fails, and which lesson explains it. Then zoom to the next level and watch the arrow you clicked expand into its own chain — no step is magic.

Continue with the lessons