Operating Systems reference data

Operating system concepts, kernels, and process management.

  • 5 datasets
  • JSON · YAML · TOON
  • CC0 — public domain

Topic guide

What Operating Systems covers

Operating-systems reference data covers what the kernel does between programs and hardware: running many processes on few CPUs (scheduling), giving each a private view of memory (paging and virtual memory), keeping them from deadlocking over shared resources, and storing data durably (file systems). The concepts come from textbooks and are implemented differently in Linux, Windows and macOS, so the entries explain the idea and the examples show where real systems apply it.

Key ideas

Process vs thread
A process owns an address space and resources; threads are schedulable flows of control that share them. Switching between threads is cheaper than between processes.
Context switch
Saving one task's CPU state and loading another's. It is pure overhead, so schedulers try not to do it too often.
Preemptive vs non-preemptive
A preemptive scheduler can take the CPU away from a running task; a non-preemptive one waits until the task yields or finishes.
Virtual memory
Each process sees a contiguous private address space that the OS and hardware map onto physical memory and disk.
Page fault
An access to a page that is not currently mapped to physical memory, handled by the OS, sometimes by reading from disk.
Journaling
Recording intended file-system changes in a log first so the file system can be repaired consistently after a crash.
Deadlock
A state where processes wait on each other forever. It needs mutual exclusion, hold-and-wait, no preemption and circular wait all at once.

Common pitfalls

  • Assuming textbook scheduling algorithms are what a real OS uses. Linux, Windows and macOS combine priorities, fairness and heuristics.
  • Equating high memory use with a problem. Operating systems use spare memory for caches and release it on demand.
  • Confusing thrashing with simple memory shortage; thrashing is constant paging that leaves little time for useful work.
  • Choosing a file system by feature list alone, ignoring platform support, maximum file size and recovery behavior.

Using it from an agent

  • Name the algorithm and say whether it is preemptive when explaining a scheduler.
  • Distinguish the concept (paging) from a specific OS implementation (Linux's page cache) when answering.
  • For file-system questions, ask which operating system and use case; the right answer differs for removable media, servers and desktops.

Start with: Process Management · Memory Management

Search the library

Search by a topic, title, or keyword.

Start with a collection

Browse all 205 datasets