Operating Systems
Map
Arrows point from what you learn first to what it opens.
- Proven to level123
- Open
- Locked
- Comes back deeper
Learning path
In the order the concepts build on each other.
- CPU virtualizationReadyThe operating system's trick of giving every running program the illusion of its own private CPU, by rapidly switching one real CPU between them.
- System callReadyThe controlled doorway from a program into the operating system kernel, used to do anything privileged - read files, create processes, talk to the network.
- ProcessLockedA process is a program the OS has loaded and set running, together with everything it tracks to pause and resume that instance transparently — its program counter, stack, memory, and open files.Opens after: CPU virtualization
- Context switchLockedSaving the state of the running process and restoring another's, so the CPU can move from one to the other.Opens after: Process
- Process creationLockedHow new processes come to be - on Unix, fork() clones the calling process and exec() replaces the clone's program with a new one.Opens after: Process, System call
- ThreadLockedAn independent flow of execution inside a process. Threads of one process share its memory but each has its own stack and registers.Opens after: Process
- Virtual memoryLockedGiving every process its own private address space, which the OS and hardware translate to physical memory page by page.Opens after: Process
- Race conditionLockedA bug where the result depends on the unpredictable order in which concurrent threads run.Opens after: Thread
- SchedulingLockedThe policy that decides which ready process runs next and for how long - balancing fairness, responsiveness and throughput.Opens after: Context switch
- MutexLockedA lock that lets only one thread at a time into a critical section of code, preventing race conditions on shared data.Opens after: Race condition
Connections to other domains
- Thread leads to GoroutinesProgramming
- Process leads to ContainerCloud Native