Knaph

Operating Systems

Map

Arrows point from what you learn first to what it opens. Point at a concept to light up its chain and where it comes back deeper. Right-click a concept (or press and hold it) for its lessons and stories.

  • Proven to depth123
  • Open
  • Locked
  • Comes back deeper
Depth 2Depth 2Depth 2CPU virtualizationContext switchMutexProcessProcess creationRace conditionSchedulingSystem callThreadVirtual memoryConcurrencyIn Concurrency

Learning path

In the order the concepts build on each other.

  1. 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.
  2. 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.
  3. 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
  4. 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
  5. 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
  6. 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, Concurrency
  7. Virtual memoryLockedGiving every process its own private address space, which the OS and hardware translate to physical memory page by page.Opens after: Process
  8. Race conditionLockedA bug where the result depends on the unpredictable order in which concurrent threads run.Opens after: Thread
  9. SchedulingLockedThe policy that decides which ready process runs next and for how long - balancing fairness, responsiveness and throughput.Opens after: Context switch
  10. 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