Learning path

Operating systems

Study CPU scheduling, page replacement, deadlock avoidance, synchronization, and virtual memory through small simulations.

About this subject

An operating system manages the hardware for every program: it decides which process runs, hands out memory, and lets programs share resources without corrupting each other. Its main ideas are processes and threads, scheduling, memory management, synchronization, and files.

This path simulates the core algorithms: first-come first-served, shortest-job-first, and round-robin scheduling, page replacement policies, the banker's algorithm for deadlock avoidance, locks and the bounded buffer, and address translation. Each lesson uses a small, complete program that runs on its own. Python has the full sequence. The other languages listed below add lessons that use that language's own idioms and standard library, such as Java threads, C++ smart pointers, C# LINQ, or Node.js streams, and appear only for the topics the language supports. The programs are simplified models chosen to make an idea visible, so they are a foundation for further study rather than a replacement for a full course or for production-grade software.

Before you start: Programming fundamentals, lists and dictionaries, and basic data structures.

  1. 1

    Python

    Readable code for automation, data, and first programs.

  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7