Defines semaphores as synchronization primitives with wait and signal operations. Details how semaphores block threads based on value state and explains fundamental properties including thread blocking, waking mechanisms, and their role in managing concurrent access.

Covers non-determinism in concurrent programs and shared variable access issues. Analyzes concurrent writes, updates, and the importance of mutual exclusion to prevent race conditions and ensure atomic operations in multithreaded environments.

Explains message passing as a synchronization mechanism for serialization problems. Demonstrates how thread communication through messages ensures event ordering and uses timeline analysis to prove sequential execution in multithreaded programs.

Introduces synchronization concepts in concurrent systems, distinguishing between serialization and mutual exclusion. Covers execution models in parallel and multithreaded systems, explaining how synchronization constraints enforce event ordering without universal clocks.

Containerization—Namespaces and Cgroups in Linux

Containerization—Namespaces and Cgroups in Linux

This lecture covers lightweight virtualization using Linux containers, focusing on how namespaces and cgroups isolate resources and limit usage. It explores Docker, LXC, orchestration frameworks like Kubernetes, and demonstrates system calls and mechanisms enabling container-based cloud-native development