Examines fundamental concepts in computer system design that are common across operating systems, networks, database systems, distributed systems, programming languages, software engineering, security, fault tolerance, & architecture. This book demonstrates how to apply these concepts to tackle practical system design problems.