Principles of computer system design [electronic resource] : an introduction / Jerome H. Saltzer, M. Frans Kaashoek.Material type: TextPublisher: Burlington, MA : Morgan Kaufmann, c2009Description: 1 online resource (xxxiii, 526 p.) : illISBN: 9780123749574; 0123749573; 9780080959429 (electronic bk.); 0080959423 (electronic bk.)Subject(s): System design | Computer systems | COMPUTERS -- Reference | COMPUTERS -- Machine Theory | COMPUTERS -- Computer Literacy | COMPUTERS -- Information Technology | COMPUTERS -- Data Processing | COMPUTERS -- Computer Science | COMPUTERS -- Hardware -- General | Computerarchitektur | Computer systems / Design | Computer architecture | Computer organization | Software engineeringGenre/Form: Electronic books. | Electronic books.Additional physical formats: Print version:: Principles of computer system design.DDC classification: 004 LOC classification: QA76 | .S29 2009QA76.9.S88 | S257 2009Online resources: ScienceDirect
This text identifies, examines, and illustrates fundamental concepts in computer system design that are common across operating systems, networks, database systems, distributed systems, programming languages, software engineering, security, fault tolerance, and architecture. Through carefully analyzed case studies from each of these disciplines, it demonstrates how to apply these concepts to tackle practical system design problems. To support the focus on design, the text identifies and explains abstractions that have proven successful in practice such as, remote procedure call, client/service organization, file systems, data integrity, consistency, and authenticated messages. Most computer systems are built using a handful of such abstractions. The text describes how these abstractions are implemented, demonstrates how they are used in different systems, and prepares the reader to apply them in future designs. Features: Concepts of computer system design guided by fundamental principles (see list on inside cover). Cross-cutting approach that identifies abstractions common to networking, operating systems, transaction systems, distributed systems, architecture, and software engineering. Case studies that make the abstractions real: naming (DNS and the URL); file systems (the UNIX file system); clients and services (NFS); virtualization (virtual machines); scheduling (disk arms); security (TLS). Numerous pseudocode fragments that provide concrete examples of abstract concepts. Extensive support. The authors and MIT OpenCourseWare provide on-line, free of charge, open educational resources, including additional chapters, course syllabi, board layouts and slides, lecture videos, and an archive of lecture schedules, class assignments, and design projects.
Systems; Elements of Computer System Organization; The Design of Naming Schemes; Enforcing Modularity with Clients and Services; Enforcing Modularity with Virtualization; Performance; The Network as a System and as a System Component; Fault Tolerance: Reliable Systems from Unreliable Components; Atomicity: All-or-Nothing and Before-or-After; Information Security; Suggestions for Further Reading; Glossary; Problem Sets; Index of Concepts.
Includes bibliographical references (p. 375-423) and index.
Description based on print version record.