Knaph

Operating Systems

Map

Arrows point from what you learn first to what it opens.

  • Proven to level123
  • Open
  • Locked
  • Comes back deeper
Level 2Level 2Level 2CPU virtualizationContext switchMutexProcessProcess creationRace conditionSchedulingSystem callThreadVirtual memoryGoroutinesIn Programming

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
  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