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