Covers the principles and mechanisms of virtual memory in computer systems, focusing on isolation, efficiency, and the role of the Memory Management Unit.
Discusses scheduling internals, metrics, and policies in computer systems, emphasizing efficiency and the complexities of modern multi-core architectures.
Explores multithreading in computer architecture, focusing on pipeline utilization and performance impact in various techniques, including blocked and fine-grained multithreading.
Explores parallelism in programming, emphasizing trade-offs between programmability and performance, and introduces shared memory parallel programming using OpenMP.
Covers user-centered design principles, emphasizing the importance of UX in interactive systems and the economic benefits of effective design practices.