Test 2§

Test 2 is scheduled for April 13, 2026 (Monday) during regular class time.

Preparation Materials§
  • Test 2 Review Guide -- comprehensive topic checklist, key concepts, and self-test questions with answers
Exam Format§
  • Duration: 75 minutes
  • Points: 100 points, 6 questions
  • Scope: Cumulative, but 85-90% on new material since Test 1 (multithreading, synchronization, memory management, virtual memory)
  • Format: Closed-book, closed-internet, closed-computer exam. You may bring one page of prepared notes (both sides).
Topics Covered§
  • Introduction to Multithreading
  • Basic Locking and Data Races
  • Semaphores
  • Condition Variables and Monitors
  • Deadlock
  • Locking Performance
  • Atomic Variables
  • Dynamic Memory Allocation (malloc/free)
  • Garbage Collection (mark-and-sweep)
  • Virtual Memory (paging, TLB, page faults, demand paging)
  • Exercise 2 (Linking), Exercise 3 (MPSC Channel)
  • Project 2 (Fork-Join Threadpool)
Tips§
  • Review the Review Guide thoroughly -- it covers every testable topic
  • Practice tracing through concurrent programs (data races, happens-before chains)
  • Know the monitor pattern: mutex + condition variable + while-loop
  • Understand your Project 2 implementation (work stealing, helping, deadlock prevention)
  • Be able to trace mark-and-sweep on a reachability graph
  • Know how to translate virtual addresses using a page table