Gurumanie Singh Dhiman | CPRE308 Coursework

CPRE308: Operating Systems

CPRE308 covers core operating system concepts including processes, threads, synchronization, 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.

Key topics

Representative labs & projects

The hands-on coursework emphasized concurrent programming and scheduling. 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 synchronization patterns and the trade-offs between concurrency and correctness.

View Full Code on GitHub