Processes
The process abstraction, states and transitions, the PCB, scheduling basics, and context switching.
- 3.1Process Concept
- 3.2Process States
- 3.3Process Control Blocks
- 3.4Process Scheduling Basics
- 3.5Context Switching
Module 2 of 5 · The core of the course
The heart of the course. This module develops the process and thread abstractions, the algorithms that decide which runnable entity uses the CPU next, the mechanisms that keep concurrent code correct, and the conditions that bring a system to a halt.
Module overview
Every modern operating system is, at its core, a manager of concurrent activity. This module builds the abstractions — process, thread, scheduler, lock, semaphore — that make that management possible, and it develops the analytical tools you need to reason about their behaviour.
You will model process states, measure context-switch costs, compare scheduling algorithms on real workloads, and design synchronization solutions that are correct and deadlock-free. Each unit ends with a laboratory in which you implement and stress the mechanism you have just studied.
Module learning outcomes
Units
The process abstraction, states and transitions, the PCB, scheduling basics, and context switching.
Why threads exist, user versus kernel threads, multicore execution, and POSIX threads.
Objectives and metrics, then a systematic comparison of the classic scheduling algorithms.
Race conditions, the critical-section problem, and the full toolbox of synchronization primitives.
Conditions for deadlock, resource-allocation graphs, prevention, avoidance, Banker's algorithm, and recovery.
Laboratory & assessment
| Lab | Topic | Unit |
|---|---|---|
| Lab 2 | Process Management | Unit 3 |
| Lab 3 | POSIX Threads | Unit 4 |
| Lab 4 | Scheduling Simulation | Unit 5 |
| Lab 5 | Synchronization | Unit 6 |
| Lab 6 | Deadlock Analysis | Unit 7 |
This is the largest and most demanding module in the course. Budget additional time for Units 6 and 7 — the synchronization and deadlock material rewards slow, careful reading.