Covers locks for achieving mutual exclusion in concurrent programs. Discusses lock implementation using hardware primitives like test-and-set, compare-and-swap, fetch-and-add. Explains spin locks, ticket locks, and techniques to avoid spinning using yield and blocking.
Explains semaphores combining locks and condition variables for thread synchronization. Covers binary semaphores for mutual exclusion, semaphores for ordering events, producer-consumer bounded buffer problem, throttling threads, and implementing semaphores using locks and CVs.
Introduces semaphores as synchronization primitives invented by Dijkstra. Covers binary semaphores as locks, semaphores for ordering, producer-consumer problem, reader-writer problem, dining philosophers, and implementing semaphores using locks and condition variables.
Discusses page replacement policies for virtual memory management including optimal, FIFO, Random, and LRU algorithms. Covers cache management, average memory access time (AMAT), working sets, clock algorithm, and techniques to handle memory pressure.
TCP Download Analysis & Solutions in Dense WiFi
This work presents an in-depth analysis of TCP download performance challenges in realistic, dense WiFi environments with real user traffic. By evaluating classroom measurements and proposing the WiFiRR round-robin scheduler, the paper demonstrates improved download times and reduced contention compared to standard approaches.