Distributed operating systems / (Record no. 2959)
[ view plain ]
000 -LEADER | |
---|---|
fixed length control field | 10059mam a2200169 a 4500 |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
International Standard Book Number | 9788177581799 (pb) |
040 ## - CATALOGING SOURCE | |
Transcribing agency | CUS |
082 00 - DEWEY DECIMAL CLASSIFICATION NUMBER | |
Classification number | 005.43 |
Item number | TAN/D |
100 1# - MAIN ENTRY--PERSONAL NAME | |
Personal name | Tanenbaum, Andrew S., |
245 10 - TITLE STATEMENT | |
Title | Distributed operating systems / |
Statement of responsibility, etc. | Andrew S. Tanenbaum |
260 ## - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT) | |
Place of publication, distribution, etc. | New Delhi : |
Name of publisher, distributor, etc. | Pearson , |
Date of publication, distribution, etc. | 2005. |
300 ## - PHYSICAL DESCRIPTION | |
Extent | xxii, 606 p. |
Other physical details | ill. ; |
Dimensions | 24 cm. |
505 ## - FORMATTED CONTENTS NOTE | |
Formatted contents note | INTRODUCTION TO DISTRIBUTED SYSTEMS<br/>1.1 WHAT IS A DISTRIBUTED SYSTEM? 20<br/>1.2 GOALS 21<br/>1.2.1 Advantages of Distributed Systems over Centralized Systems 21<br/>1.2.2 Advantages of Distributed Systems over Independent PCs 24<br/>1.2.3 Disadvantages of Distributed Systems 24<br/>1.3 HARDWARE CONCEPTS 26<br/>1.3.1 Bus-Based Multiprocessors 28<br/>1.3.2 Switched Multiprocessors 30<br/>1.3.3 Bus-Based Multicomputers 31<br/>1.3.4 Switched Multicomputers 32<br/>1.4 SOFTWARE CONCEPTS 33<br/>1.4.1 Network Operating Systems 34<br/>1.4.2 True Distributed Systems 36<br/>1.4.3 Multiprocessor Timesharing Systems 38<br/>1.5 DESIGN ISSUES 40<br/>1.5.1 Transparency 40<br/>1.5.2 Flexibility 43<br/>1.5.3 Reliability 45<br/>1.5.4 Performance 46<br/>1.5.5 Scalability 47<br/>1.6 SUMMARY 49<br/>COMMUNICATION IN DISTRIBUTED SYSTEMS<br/>2.1 LAYERED PROTOCOLS 53<br/>2.1.1 The Physical Layer 56<br/>2.1.2 The Data Link Layer 56<br/>2.1.3 The Network Layer 58<br/>2.1.4 The Transport Layer 58<br/>2.1.5 The Session Layer 59<br/>2.1.6 The Presentation Layer 59<br/>2.1.7 The Application Layer 60<br/>2.2 ASYNCHRONOUS TRANSFER MODE NETWORKS 60<br/>2.2.1 What Is Asynchronous Transfer Mode? 60<br/>2.2.2 The ATM Physical Layer 62<br/>2.2.3 The ATM Layer 63<br/>2.2.4 The ATM Adaptation Layer 64<br/>2.2.5 ATM Switching 65<br/>2.2.6 Some Implications of ATM for Distributed Systems 67<br/>2.3 THE CLIENT-SERVER MODEL 68<br/>2.3.1 Clients and Servers 69<br/>2.3.2 An Example Client and Server 70<br/>2.3.3 Addressing 74<br/>2.3.4 Blocking versus Nonblocking Primitives 76<br/>2.3.5 Buffered versus Unbuffered Primitives 79<br/>2.3.6 Reliable versus Unreliable Primitives 81<br/>2.3.7 Implementing the Client-Server Model 83<br/>2.4 REMOTE PROCEDURE CALL 86<br/>2.4.1 Basic RPC Operation 86<br/>2.4.2 Parameter Passing 90<br/>2.4.3 Dynamic Binding 95<br/>2.4.4 RPC Semantics in the Presence of Failures 98<br/>2.4.5 Implementation Issues 102<br/>2.4.6 Problem Areas 113 .<br/>2.5 GROUP COMMUNICATION 117<br/>2.5.1 Introduction to Group Communication 117<br/>2.5.2 Design Issues 119<br/>2.5.3 Group Communication in ISIS 128<br/>2.6 SUMMARY 132<br/>3 SYNCHRONIZATION IN DISTRIBUTED SYSTEMS<br/>3.1 CLOCK SYNCHRONIZATION 137<br/>3.1.1 Logical Clocks 138<br/>3.1.2 Physical Clocks 142<br/>3.1.3 Clock Synchronization Algorithms 145<br/>3.1.4 Use of Synchronized Clocks 150<br/>3.2 MUTUAL EXCLUSION 152<br/>3.2.1 A Centralized Algorithm 152<br/>3.2.2 A Distributed Algorithm 153<br/>3.2.3 A Token Ring Algorithm 156<br/>3.2.4 A Comparison of the Three Algorithms 157<br/>3.3 ELECTION ALGORITHMS 158<br/>3.3.1 The Bully Algorithm 159<br/>3.3.2 A Ring Algorithm 161<br/>3.4 ATOMIC TRANSACTIONS 162<br/>3.4.1 Introduction to Atomic Transactions 162<br/>3.4.2 The Transaction Model 163<br/>3.4.3 Implementation 168<br/>3.4.4 Concurrency Control 172<br/>3.5 DEADLOCKS IN DISTRIBUTED SYSTEMS 176<br/>3.5.1 Distributed Deadlock Detection 177<br/>3.5.2 Distributed Deadlock Prevention 181<br/>3.6 SUMMARY 183<br/>4 PROCESSES AND PROCESSORS IN DISTRIBUTED SYSTEMS<br/>4.1 THREADS 187<br/>4.1.1 Introduction to Threads 188<br/>4.1.2 Thread Usage 189<br/>4.1.3 Design Issues for Threads Packages 192<br/>4.1.4 Implementing a Threads Package 196<br/>4.1.5 Threads and RPC 202<br/>4.2 SYSTEM MODELS 204<br/>4.2.1 The Workstation Model 204<br/>4.2.2 Using Idle Workstations 207<br/>4.2.3 The Processor Pool Model 211<br/>4.2.4 A Hybrid Model 215<br/>4.3 PROCESSOR ALLOCATION 215<br/>4.3.1 Allocation Models 215<br/>4.3.2 Design Issues for Processor Allocation Algorithms 217<br/>4.3.3 Implementation Issues for Processor Allocation Algorithms 219<br/>4.3.4 Example Processor Allocation Algorithms 221<br/>4.4 SCHEDULING IN DISTRIBUTED SYSTEMS 228<br/>4.5 FAULT TOLERANCE 230<br/>4.5.1 Component Faults 230<br/>4.5.2 System Failures 231<br/>4.5.3 Synchronous versus Asynchronous Systems 232<br/>4.5.4 Use of Redundancy 232<br/>4.5.5 Fault Tolerance Using Active Replication 233<br/>4.5.6 Fault Tolerance Using Primary-Backup 235<br/>4.5.7 Agreement in Faulty Systems 237<br/>4.6 REAL-TIME DISTRIBUTED SYSTEMS 241<br/>4.6.1 What Is a Real-Time System? 241<br/>4.6.2 Design Issues 244<br/>4.6.3 Real-Time Communication 248<br/>4.6.4 Real-Time Scheduling 252<br/>4.7 SUMMARY 258<br/>DISTRIBUTED FILE SYSTEMS<br/>5.1 DISTRIBUTED FILE SYSTEM DESIGN 264<br/>5.1.1 The File Service Interface 264<br/>5.1.2 The Directory Server Interface 266<br/>5.1.3 Semantics of File Sharing 271<br/>5.2 DISTRIBUTED FILE SYSTEM IMPLEMENTATION 274<br/>5.2.1 File Usage 274<br/>5.2.2 System Structure 276<br/>5.2.3 Caching 280<br/>5.2.4 Replication 286<br/>5.2.5 An Example: Sun's Network File'System 290<br/>5.2.6 Lessons Learned 296<br/>5.3 TRENDS IN DISTRIBUTED FILE SYSTEMS 297<br/>5.3.1 New Hardware 298<br/>5.3.2 Scalability 300<br/>5.3.3 Wide Area Networking 301<br/>5.3.4 Mobile Users 302<br/>5.3.5 Fault Tolerance 302<br/>5.3.6 Multimedia 303<br/>5.4 SUMMARY 303<br/>6 DISTRIBUTED SHARED MEMORY<br/>6.1 INTRODUCTION 308<br/>6.2 WHAT IS SHARED MEMORY? 310<br/>6.2.1 On-Chip Memory 311<br/>6.2.2 Bus-Based Multiprocessors 311<br/>6.2.3 Ring-Based Multiprocessors 316<br/>6.2.4 Switched Multiprocessors 319<br/>6.2.5 NUMA Multiprocessors 326<br/>6.2.6 Comparison of Shared Memory Systems 330<br/>6.3 CONSISTENCY MODELS 333<br/>6.3.1 Strict Consistency 333<br/>6.3.2 Sequential Consistency 335<br/>6.3.3 Causal Consistency 339<br/>6.3.4 PRAM Consistency and Processor Consistency 340<br/>6.3.5 Weak Consistency 343<br/>6.3.6 Release Consistency 345<br/>6.3.7 Entry Consistency 348<br/>6.3.8 Summary of Consistency Models 349<br/>6.4 PAGE-BASED DISTRIBUTED SHARED MEMORY 351<br/>6.4.1 Basic Design 352<br/>6.4.2 Replication 352<br/>6.4.3 Granularity 354<br/>5.4.4 Achieving Sequential Consistency 355<br/>6.4.5 Finding the Owner 357<br/>6.4.6 Finding the Copies 360<br/>6.4.7 Page Replacement 361<br/>6.4.8 Synchronization 362<br/>6.5 SHARED-VARIABLE DISTRIBUTED SHARED MEMORY 363<br/>6.5.1 Munin 364<br/>6.5.2 Midway 371<br/>6.6 OBJECT-BASED DISTRIBUTED SHARED MEMORY 374<br/>6.6.1 Objects 374<br/>6.6.2 Linda 376<br/>6.6.3 Orca 383<br/>6.7 COMPARISON 389<br/>6.8 SUMMARY 390<br/>CASE STUDY 1: AMOEBA<br/>7.1 INTRODUCTION TO AMOEBA 394<br/>7.1.1 History of Amoeba 394<br/>7.1.2 Research Goals 395<br/>7.1.3 The Amoeba System Architecture 396<br/>7.1.4 The Amoeba Microkernel 398<br/>7.1.5 The Amoeba Servers 400<br/>7.2 OBJECTS AND CAPABILITIES IN AMOEBA 402<br/>7.2.1 Capabilities 402<br/>7.2.2 Object Protection 403<br/>7.2.3 Standard Operations 405<br/>7.3 PROCESS MANAGEMENT IN AMOEBA 406<br/>7.3.1 Processes 406<br/>7.3.2 Threads 409<br/>7.4 MEMORY MANAGEMENT IN AMOEBA 410<br/>7.4.1 Segments 410<br/>7.4.2 Mapped Segments 411<br/>7.5 COMMUNICATION IN AMOEBA 411<br/>7.5.1 Remote Procedure Call 412<br/>7.5.2 Group Communication in Amoeba 416<br/>7.5.3 The Fast Local Internet Protocol 425<br/>7.6 THE AMOEBA SERVERS 433<br/>7.6.1 The Bullet Server 433<br/>7.6.2 The Directory Server 438<br/>7.6.3 The Replication Server 443<br/>7.6.4 The Run Server 443<br/>7.6.5 The Boot Server 445<br/>7.6.6 The TCP/IP Server 445<br/>7.6.7 Other Servers 446<br/>7.7 SUMMARY 446<br/>8 CASE STUDY 2: MACH<br/>8.1 INTRODUCTION TO MACH 449<br/>8.1.1 History of Mach 449<br/>8.1.2 Goals of Mach 451<br/>8.1.3 The Mach Microkernel 451<br/>8.1.4 The Mach BSD UNIX Server 453<br/>8.2 PROCESS MANAGEMENT IN MACH 454<br/>8.2.1 Processes 454<br/>8.2.2 Threads 457<br/>8.2.3 Scheduling 460<br/>8.3 MEMORY MANAGEMENT IN MACH 463<br/>8.3.1 Virtual Memory 464<br/>8.3.2 Memory Sharing 467<br/>8.3.3 External Memory Managers 470<br/>8.3.4 Distributed Shared Memory in Mach 474<br/>8.4 COMMUNICATION IN MACH 475<br/>8.4.1 Ports 475<br/>8.4.2 Sending and Receiving Messages 482<br/>8.4.3 The Network Message Server 487<br/>8.5 UNIX EMULATION IN MACH 489<br/>8.6 SUMMARY 490<br/>9 CASE STUDY 3: CHORUS<br/>9.1 INTRODUCTION TO CHORUS 493<br/>9.1.1 History of Chorus 494<br/>9.1.2 Goals of Chorus 495<br/>9.1.3 System Structure 496<br/>9.1.4 Kernel Abstractions 497<br/>9.1.5 Kernel Structure 499<br/>9.1.6 The UNIX Subsystem 501<br/>9.1.7 The Object-Oriented Subsystem 501<br/>9.2 PROCESS MANAGEMENT IN CHORUS 501<br/>9.2.1 Processes 502<br/>9.2.2 Threads 503<br/>9.2.3 Scheduling 504<br/>9.2.4 Traps, Exceptions, and Interrupts 505<br/>9.2.5 Kernel Calls for Process Management 506<br/>9.3 MEMORY MANAGEMENT IN CHORUS 508<br/>9.3.1 Regions and Segments 508<br/>9.3.2 Mappers 509<br/>9.3.3 Distributed Shared Memory 510<br/>9.3.4 Kernel Calls for Memory Management 511<br/>14<br/>9.4 COMMUNTCATON IN CHORUS 513<br/>9.4.1 Messages 513<br/>9.4.2 Ports 513<br/>9.4.3 Communication Operations 514<br/>9.4.4 Kernel Calls for Communication 516<br/>9.5 UNIX EMULATION IN CHORUS 517<br/>9.5.1 Structure of a UNIX Process 518<br/>9.5.2 Extensions to UNIX 518<br/>9.5.3 Implementation of UNIX on Chorus 519<br/>9.6 COOL: AN OBJECT-ORIENTED SUBSYSTEM 525<br/>9.6.1 The COOL Architecture 525<br/>9.6.2 The COOL Base Layer 525<br/>9.6.3 The COOL Generic Runtime System 527<br/>9.6.4 The Language Runtime System 527<br/>9.6.5 Implementation of COOL 528<br/>9.7 COMPARISON OF AMOEBA, MACH, AND CHORUS 528<br/>9.7.1 Philosophy 529<br/>9.7.2 Objects 530<br/>9.7.3 Processes 531<br/>9.7.4 Memory Model 532<br/>9.7.5 Communication 533<br/>9.7.6 Servers 534<br/>9.8 SUMMARY 535<br/>10 CASE STUDY 22: DCE<br/>10.1 INTRODUCTION TO DCE 538<br/>10.1.1 History of DCE 538<br/>10.1.2 Goals of DCE 539<br/>10.1.3 DCE Components 540<br/>10.1.4 Cells 543<br/>10.2 THREADS 545<br/>10.2.1 Introduction to DCE Threads 545<br/>10.2.2 Scheduling 547<br/>10.2.3 Synchronization 548<br/>10.2.4 Thread Calls 549<br/>10.3 REMOTE PROCEDURE CALL 553<br/>10.3.1 Goals of DCE RPC 553<br/>10.3.2 Writing a Client and a Server 554<br/>10.3.3 Binding a Client to a Server 556<br/>10.3.4 Performing an RPC 557<br/>10.4 TIME SERVICE 558<br/>10.4.1 DTS Time Model 559<br/>10.4.2 DTS Implementation 561<br/>10.5 DIRECTORY SERVICE 562<br/>10.5.1 Names 564<br/>10.5.2 The Cell Directory Service 565<br/>10.5.3 The Global Directory Service 567<br/>10.6 SECURITY SERVICE 572<br/>10.6.1 Security Model 573<br/>10.6.2 Security Components 575<br/>10.6.3 Tickets and Authenticators 576<br/>10.6.4 Authenticated RFC 577<br/>10.6.5 ACLs 580<br/>10.7 DISTRIBUTED FILE SYSTEM 582<br/>10.7.1 DPS Interface 583<br/>10.7.2 DPS Components in the Server Kernel 584<br/>10.7.3 DPS Components in the Client Kernel 587<br/>10.7.4 DPS Components in User Space 589<br/>10.8 SUMMARY 591 |
650 #0 - SUBJECT | |
Keyword | Electronic Data Processing |
General subdivision | Distributed processing. |
650 #0 - SUBJECT | |
Keyword | Distributed Operating Systems (Computers) |
942 ## - ADDED ENTRY ELEMENTS (KOHA) | |
Koha item type | General Books |
Withdrawn status | Lost status | Damaged status | Not for loan | Home library | Current library | Shelving location | Date acquired | Full call number | Accession number | Date last seen | Date last checked out | Koha item type |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Central Library, Sikkim University | Central Library, Sikkim University | General Book Section | 16/06/2016 | 005.43 TAN/D | P19922 | 03/08/2017 | 03/08/2017 | General Books |