LEADER 05647nam 2200733Ia 450 001 9910455028603321 005 20200520144314.0 010 $a1-282-25834-6 010 $a9786612258343 010 $a0-08-095942-3 035 $a(CKB)1000000000798781 035 $a(EBL)534968 035 $a(OCoLC)635293076 035 $a(SSID)ssj0000386353 035 $a(PQKBManifestationID)11321554 035 $a(PQKBTitleCode)TC0000386353 035 $a(PQKBWorkID)10389601 035 $a(PQKB)10045030 035 $a(MiAaPQ)EBC534968 035 $a(CaSebORM)9780123749574 035 $a(PPN)178028789 035 $a(Au-PeEL)EBL534968 035 $a(CaPaEBR)ebr10378862 035 $a(CaONFJC)MIL225834 035 $a(EXLCZ)991000000000798781 100 $a20090803d2009 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aPrinciples of computer system design$b[electronic resource] $ean introduction /$fJerome H. Saltzer, M. Frans Kaashoek 205 $a1st edition 210 $aAmsterdam ;$aLondon $cElsevier/Morgan Kaufmann$dc2009 215 $a1 online resource (561 p.) 300 $aDescription based upon print version of record. 311 $a0-12-374957-3 320 $aIncludes bibliographical references and index. 327 $aFront Cover; Half Title Page; Title Page; Copyright Page; Dedication Page; Table of Contents; List of Sidebars; Preface; Where to find Part II and other On-line Materials; Acknowledgments; Chapter 1. Systems; Overview; 1.1 Systems and Complexity; 1.1.1 Common Problems of Systems in Many Fields; 1.1.2 Systems, Components, Interfaces, and Environments; 1.1.3 Complexity; 1.2 Sources of Complexity; 1.2.1 Cascading and Interacting Requirements; 1.2.2 Maintaining High Utilization; 1.3 Coping with Complexity I; 1.3.1 Modularity; 1.3.2 Abstraction; 1.3.3 Layering; 1.3.4 Hierarchy 327 $a1.3.5 Putting it Back Together: Names make Connections1.4 Computer Systems are the Same but Different; 1.4.1 Computer Systems have no Nearby Bounds on Composition; 1.4.2 d(technology)/dt is Unprecedented; 1.5 Coping with Complexity II; 1.5.1 Why Modularity, Abstraction, Layering, and Hierarchy aren't Enough; 1.5.2 Iteration; 1.5.3 Keep it Simple; What the Rest of this Book is About; Exercises; Chapter 2. Elements of Computer System Organization; Overview; 2.1 The Three Fundamental Abstractions; 2.1.1 Memory; 2.1.2 Interpreters; 2.1.3 Communication Links; 2.2 Naming in Computer Systems 327 $a2.2.1 The Naming Model2.2.2 Default and Explicit Context References; 2.2.3 Path Names, Naming Networks, and Recursive Name Resolution; 2.2.4 Multiple Lookup: Searching through Layered Contexts; 2.2.5 Comparing Names; 2.2.6 Name Discovery; 2.3 Organizing Computer Systems with Names and Layers; 2.3.1 A Hardware Layer: The Bus; 2.3.2 A Software Layer: The File Abstraction; 2.4 Looking Back and Ahead; 2.5 Case Study: UNIX® File System Layering and Naming; 2.5.1 Application Programming Interface for the UNIX File System; 2.5.2 The Block Layer; 2.5.3 The File Layer; 2.5.4 The Inode Number Layer 327 $a2.5.5 The File Name Layer2.5.6 The Path Name Layer; 2.5.7 Links; 2.5.8 Renaming; 2.5.9 The Absolute Path Name Layer; 2.5.10 The Symbolic Link Layer; 2.5.11 Implementing the File System API; 2.5.12 The Shell and Implied Contexts, Search Paths, and Name Discovery; 2.5.13 Suggestions for Further Reading; Exercises; Chapter 3. The Design of Naming Schemes; Overview; 3.1 Considerations in the Design of Naming Schemes; 3.1.1 Modular Sharing; 3.1.2 Metadata and Name Overloading; 3.1.3 Addresses: Names that Locate Objects; 3.1.4 Generating Unique Names; 3.1.5 Intended Audience and User-Friendly Names 327 $a3.1.6 Relative Lifetimes of Names, Values, and Bindings3.1.7 Looking Back and Ahead: Names are a Basic System Component; 3.2 Case Study: The Uniform Resource Locator (URL); 3.2.1 Surfing as a Referential Experience; Name Discovery; 3.2.2 Interpretation of the URL; 3.2.3 URL Case Sensitivity; 3.2.4 Wrong Context References for a Partial URL; 3.2.5 Overloading of Names in URLs; 3.3 War Stories: Pathologies in the Use of Names; 3.3.1 A Name Collision Eliminates Smiling Faces; 3.3.2 Fragile Names from Overloading, and a Market Solution 327 $a3.3.3 More Fragile Names from Overloading, with Market Disruption 330 $aThis 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 606 $aComputers$xDesign 606 $aComputer architecture 606 $aComputer organization 606 $aSoftware engineering 608 $aElectronic books. 615 0$aComputers$xDesign. 615 0$aComputer architecture. 615 0$aComputer organization. 615 0$aSoftware engineering. 676 $a005.1 700 $aSaltzer$b J. H.$f1939-$0998979 701 $aKaashoek$b Frans$f1965-$0998980 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910455028603321 996 $aPrinciples of computer system design$92291937 997 $aUNINA