Explores parallelism in programming, emphasizing trade-offs between programmability and performance, and introduces shared memory parallel programming using OpenMP.
Covers the principles of synchronization in parallel computing, focusing on shared memory synchronization and different methods like locks and barriers.
Explores the concept of locking for mutual exclusion in OS, covering race conditions, parallelism, atomic instructions, deadlock prevention, and best practices.
Explores synchronization principles using locks and barriers, emphasizing efficient hardware-supported implementations and coordination mechanisms like OpenMP.
Covers the principles and mechanisms of virtual memory in computer systems, focusing on isolation, efficiency, and the role of the Memory Management Unit.