Operating Systems —
concurrency & design.
Explored core OS concepts — processes, threads, synchronisation, scheduling, deadlock handling, memory management, and file systems — through lectures and Linux-based lab experiments.
overview
What I
learned.
CPRE308 covers core operating system concepts including processes, threads, synchronisation, scheduling, deadlock handling, memory management, file systems, and I/O systems. Security considerations and practical Linux-based lab experiments are an integral part of the course.
highlights
Key
topics.
labs & projects
Hands-on
work.
Lab exercises included implementing mutex locks and multi-threaded programs. A major project compared different locking granularities — fine-grained, medium-grained, and coarse-grained locking — by building multithreaded programs and measuring performance and contention effects.
These exercises taught practical synchronisation patterns and the trade-offs between concurrency and correctness.