注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)其他操作系統(tǒng)操作系統(tǒng):并發(fā)與分布式軟件設(shè)計

操作系統(tǒng):并發(fā)與分布式軟件設(shè)計

操作系統(tǒng):并發(fā)與分布式軟件設(shè)計

定 價:¥79.00

作 者: (英)Jean Bacon等著
出版社: 電子工業(yè)出版社
叢編項: 國外計算機科學(xué)教材系列
標(biāo) 簽: 暫缺

ISBN: 9787505387881 出版時間: 2003-06-01 包裝: 精裝
開本: 24cm 頁數(shù): 877 字?jǐn)?shù):  

內(nèi)容簡介

  本書是一本用新的觀念講述操作系統(tǒng)原理和設(shè)計的高級教程。全書圍繞著并發(fā)和分布式概念組織章節(jié),避免僅僅將注意力置于傳統(tǒng)的集中式系統(tǒng),反映了分布式系統(tǒng)在當(dāng)代已經(jīng)被廣泛應(yīng)用的現(xiàn)實,從而更能為讀者所接受。全書共有30章,分為四個部分,第一部分和第二部分主要闡述了操作系統(tǒng)核心概念和基本功能,并介紹了操作系統(tǒng)理論和實踐的最新進展。第三部分和第四部分將操作系統(tǒng)和數(shù)據(jù)庫,以及分布式系統(tǒng)的設(shè)計結(jié)合起來,對UNIX,Linux,Windows 2000/NT和JVM等典型現(xiàn)代操作系統(tǒng)進行了具體分析,并討論了Web服務(wù),中間件和事務(wù)處理等應(yīng)用。對于操作系統(tǒng)安全這樣一個重要課題,書中還專門安排了一章進行論述。本書的另一個特點是,所有的代碼示例均結(jié)合Java語言進行,并采用Java描述面向?qū)ο蟮母拍?、并發(fā)算法和分布式程序設(shè)計等。本書適合作為研究生的操作系統(tǒng)課程教材,也適合程序員、軟件工程師以及系統(tǒng)設(shè)計者作為學(xué)習(xí)和了解系統(tǒng)軟件和操作系統(tǒng)的參考書。

作者簡介

暫缺《操作系統(tǒng):并發(fā)與分布式軟件設(shè)計》作者簡介

圖書目錄

1   System design requirements                  
 1.1   Inherently concurrent systems                  
 1.2   Supporting potentially concurrent applications                  
 1.3   Architectures for software systems                  
 1.4   Defining a concurrent system                  
 1.5   Systems implementation requirements                  
 1,6   Security, protection and fault tolerance in system design                  
        Exercises                  
 PART I SYSTEM DESIGN: TECHNOLOGY AND                  
 PRINCIPLES                  
 2   System structure and dynamic execution                  
 2.1   System structure: Conceptual views                  
 2.2   System structure: Implementational views                  
 2.3   The process concept                  
 2.4   Operating system functions                  
 2.5   Operating system invocation and protection-                  
 2.6   Operating system structure                  
 2.7   Object structuring within and supported by operating systems                  
 2.8   Distributed object systems, platforms and middleware                  
 2.9   Security and protection                  
 2.10  Summary                  
         Study questions and exercises                  
 3   The hardware interface, I/O and                  
       communications                  
 3.1   Overview                  
 3.2   Device interfacing                  
 3.3   Exceptions                  
 3.4  Multiprocessors                  
 3.5  User-level input and output                  
 3.6  Communications management                  
 3.7  Communications networks, interfaces and drivers                  
 3.8 Communications software                  
         3.9 Communications handling within and above an                  
         operating system                  
         3.10  Summary                  
         Exercises                  
         4  Support for processes                  
         4.1  Use of processes in systems                  
         4.2  Processes and processors                  
         4.3  Process state                  
 4.4   Synchronizing with the hardware: Events and the WAIT                  
         operation                  
        4.5  The process data structure                  
         4.6  Scheduling: General approaches                  
         4.7  Scheduling for shared-memory multiprocessors                  
         4.8  Process scheduling to meet real-time requirements                  
         4.9  Process abstraction and implementation                  
         4.10  Operating system structure and placement of processes                  
         4.11  Multi-threaded process implementation                  
         4.12  Processes in languages, runtime systems and                  
         operating systems                  
         4.13  Process state in language systems and operating systems                  
 4.14  Sequential programs with system calls                  
 4.15  Evolution of concurrency in programming languages                  
 4.16  Implementation of processes in language systems                  
 4.17  Thread package architectures                  
 4.18  Java threads and exceptions                  
 4.19  Summary                  
         Study questions and exercises                  
 5   Memory management                  
 5.1   Memory management                  
 5.2   The memory hierarchy                  
 5.3   The address space of a process                  
 5.4   Segmented virtual memory                  
 5.5   Paged virtual memory                  
 5.6   Combining segmentation and paging                  
 5.7   Operating system data structures                  
 5.8   An example of a memory management unit (MMU)                  
 5.9   Memory management in system design                  
 5.10  Summary                  
          Exercises                  
 6   File management                  
 6.1    File management                  
 6.2   An overview of filing system functions                  
 6.3   File and directory structure                  
 6.4   The filing system interface                  
 6.5   The filing system implementation                  
 6.6   Modern file system design                  
 6.7   Network-based file servers                  
 6.8   Integrating virtual memory and storage                  
 6.9   Summary                  
         Exercises                  
 7   Fundamentals of distributed systems                  
 7.1   Introduction                  
 7.2   Evolution of distributed systems for the workplace                  
 7.3   Personal computing                  
 7.4   Model and software architecture                  
 7.5   Special characteristics of distributed systems                  
 7.6   Time in distributed systems                  
 7.7   Naming                  
 7.8   Mobile users, computers and objects                  
 7.9   Summary                  
         Exercises                  
 8   Security                  
 8.1   Scenarios and security requirements                  
 8.2   Threats and risk analysis                  
 8.3   Approaches to encryption                  
 8.4   Algorithms                  
 8.5   Protocols                  
 8.6   Examples                  
 8.7   Summary                  
         Exercises                  
 PART II CONCURRENCY CONTROL IN                  
 MAIN MEMORY                  
 9   System structure                  
 9.1   Processes sharing an address space                  
 9.2   Processes in separate address spaces                  
 9.3   Sharing the operating system                  
 9.4   Summary of process placement in the two models                  
 9.5   Requirements for process interaction                  
 9.6   Types of process interaction                  
 9.7   A process interaction                  
 9.8   Definition of single concurrent actions                  
         Study questions and exercises                  
 10  Low-level synchronization: Implementation                  
 10.1  Process synchronization compared with event signal and wait                  
 10.2  Mutual exclusion                  
 10.3  Hardware support for mutual exclusion                  
 10.4  Semaphores                  
 10.5  Styles of use of semaphores                  
 10.6  Implementation of semaphore operations                  
 10.7  Summary                  
         Study questions and exercises                  
 11   Low-level synchronization: Algorithms                  
 11.1  Introduction                  
 11.2  An example of semaphores in system design: The THE system                  
 11.3  The producer-consumer, bounded buffer Droblem                  
 11.4  Safety and liveness properties                  
 11.5  The multiple readers, single writer problem                  
 11.6  Limitations of semaphores                  
 11.7  Eventcounts and sequencers                  
 11.8  POSIXthreads                  
 11.9  Summary                  
 11.10 Case study with exercises: Management of a disk block cache                  
 12  IPC with shared memory                  
 12.1   Critical regions in programming languages                  
 12.2  Monitors                  
 12.3  Synchronization at the granularity of operations                  
 12.4  Summary                  
         Study questions and exercises                  
 13  IPC and system structure                  
 13.1  Styles of inter-process communication                  
 13.2  System structure and IPC with shared memory                  
 13.3  System structure and IPC without shared memory                  
 13.4  Systems where shared-memory communication is appropriate                  
 13.5  Systems where shared-memory communication is                  
         not appropriate                  
 13.6  Examples from classical UNIX                  
 13.7  Overview of inter-process communication                  
 13.8  Duality of system structures                  
 13.9  Naming                  
 13.10 Summary                  
         Study questions and exercises                  
 14  IPC without shared memory                  
 14.1  Introduction                  
 14.2  Use of files for common data                  
 14.3  UNIX pipes                  
 14.4  Asynchronous message passing                  
 14.5  Variations on basic message passing                  
 14.6  Implementation of asynchronous message passing                  
 14.7  Synchronous message passing                  
 14.8  Message passing in programming languages                  
 14.9  Multi-threading in clients and servers                  
 14.10 Summary                  
         Study questions and exercises                  
 15  Crash resilience and persistent data                  
 15.1  Crashes                  
 15.2  A model of acrash                  
 15.3  Crash resilience or failure transparency                  
 15.4  Idempotent (repeatable) operations                  
 15.5  Atomic operations on persistent objects                  
 15.6  Implementation of atomic operations                  
 15.7  Non-volatile memory                  
 15.8  A single operation on persistent data                  
 15.9  Database management systems' requirements on                  
         operating systems                  
 15.10 Summary                  
         Study questions and exercises                  
 16  Distributed IPC                  
 16.1  Introduction                  
 16.2  Special characteristics of distributed systems                  
 16.3  Distributed IPC: Message passing                  
 16.4  Integration of IPC with communications                  
 16.5  Java's sockets and streams                  
 16.6  Distributed programming paradigms                  
 16.7  Remote procedure call (RPC)                  
 16.8  RPC-language integration                  
 16.9  Java's RMI: RPc in the general object model                  
 16.10 Critique of synchronous invocation                  
 16.11  Naming, location and binding                  
 16.12 Summary of Part II                  
         Study questions and exercises                  
 PART III TRANSACTIONS                  
 17  Composite operations                  
 17.1  Composite operations                  
 17.2  Composite operations in main memory                  
 17.3  Composite operations involving main memory and                  
         persistent memory                  
 17.4  Concurrent execution of composite operations                  
 17.5  Potential problems                  
 17.6  Crashes                  
 17.7  Summary                  
         Study questions and exercises                  
 18  Resource allocation and deadlock                  
 18.1   Requirements for dynamic allocation                  
 18.2  Deadlock                  
 18.3  Livelock and starvation                  
 18.4  Conditions for deadlockto exist                  
 18.6  The dining philosophers problem                  
 18.6  Object allocation graphs                  
 18.7  Data structures and algorithms for deadlock detection                  
 18.8  Deadlock avoidance                  
 18.9  Information on releasing objects: Multiphase processes                  
 18.10 Distributed deadlocks                  
 18.11 Summary                  
         Study questions and exercises                  
 19  Transactions                  
 19.1   Introduction                  
 19.2  Transaction specification and programming                  
 19.3  The definition of serializability and consistency                  
 19.4  The ACID properties of transactions                  
 19.6  Indicating specific orderings of transactions                  
 19.6  A system model for transaction processing                  
 19.7  Dependency graphs for transactions                  
 19.8  Histories and serialization graphs                  
 19.9  Dealing with aborts: More about the property of isolation                  
 19.10 Summary                  
         Study questions and exercises                  
 20  Concurrency control                  
 20.1  Introduction                  
 20.2  Concurrent composite operations in main memory only                  
 20.3  Structure of transaction management systems                  
 20.4  Concurrency control through locking                  
 20.5  Time-stamp ordering (TSO)                  
 20.6  Optimistic concurrency control (OCC)                  
 20.7  Summary                  
         Study questions and exercises                  
 21   Recovery                  
 21.1   Requirements for recovery                  
 21.2  The object model, object state and recovery                  
 21.3  Concurrency, crashes and the properties of transactions                  
 21.4  Logging and shadowing for crash resilience                  
 21.5  Use of a recovery log                  
 21.6  Idempotent undo and redo operations                  
 21.7  Transaction states on a failure                  
 21.8  An algorithm for recovery                  
 21.9  Location databases for mobile objects                  
 21.10 Summary                  
         Exercises                  
 22  Distributed transactions                  
 22.1  An object model for distributed systems                  
 22.2  Distributed transaction processing                  
 22.3  Communication                  
 22.4  Concurrency control:Two-phase locking (2PL)                  
 22.5  Concurrency control: Time-stamp ordering (TSO)                  
 22.6  Optimistic concurrency control (OCC)                  
 22.7  Commit and abort in a distributed system                  
 22.8  Atomic commitment: The two-phase commit (2PC) protocol                  
 22.9  Two-phase validation for OCC                  
 22.10 Summary                  
          Study questions and exercises                  
 23  Distributed computations                  
 23.1  Introduction                  
 23.2  Process groups                  
 23.3  Consistency of data replicas                  
 23.4  Ordering message delivery                  
 23.5  Distributed, N-process mutual exclusion                  
 23.6  Summary of Part III                  
          Exercises                  
 PART IV CASE STUDIES                  
 24  Classical UNIX                  
 24.1   Introduction                  
 24.2  Evolution of UNIX                  
 24.3  System structure and the UNIX kernel                  
 24.4  File system interfaces                  
 24.5  File system implementation                  
 24.6  Process creation, termination and scheduling                  
 24.7  IPC: Pipes and signals                  
 24.8  Summary                  
         Exercises                  
 25  LINUX, Solaris and contemporary UNIX                  
 25.1  Introduction                  
 25.2  Kernel structure                  
 25.3  SVr41PC                  
 25.4  Sockets and file subsystem integrated IPC                  
 25.5  Memory management                  
 25.6  Multiprocessor scheduling                  
 25.7  Summary                  
         Exercises                  
 26  Extensible systems                  
 26.1  Mechanisms for extensibility                  
 26.2  Compile-time specialization                  
 26.3  Microkernel operating systems                  
 26.4  Downloadable code                  
 26.5  Exokernels and vertical structuring                  
 26.6  Nested virtual machines                  
 26.7  Extensible virtual machines                  
 26.8  Summary                  
         Exercises                  
 27  Windows 2000                  
 27.1  Introduction to Windows 2000                  
 27.2  System structure                  
 27.3  The object model and object manager                  
 27.4  The kernel                  
 27.5  Processes, threads, fibres and concurrency control                  
 27.6  The I/O subsystem                  
 27.7  The NTfiling system, NTFS                  
 27.8  Networking                  
 27.9  Summary                  
         Exercises                  
 2.8  The World Wide Web                  
 28.1  A simple web-client, web-server interaction                  
 28.2  Naming web pages                  
 28.3  Communication using HTTP                  
 28.4  Document representation                  
 28.5  Executing programs at server and client                  
 28.6  Security                  
 28.7  Concurrency control                  
 28.8  Scalability issues                  
 28.9  Web-based middleware: XML and SOAP                  
 28.10 Summary                  
         Exercises                  
 29  Middleware                  
 29.1  Middleware paradigms                  
 29.2  Java middleware                  
 29.3  OMG and OMA                  
 29.4 CORBA                  
 29.50DMG                  
 29.6  COM, DCOM and .NET                  
 29.7  Message-oriented middleware (MOM)                  
 29.8  Summary                  
         Exercises                  
 30  Transaction processing monitors and systems                  
 30.1  Transaction processing monitors                  
 30.2  Introduction to some electronic funds transfer (EFT) applications                  
 30.3  International inter-bank payments: SWIFT                  
 30.4  Authentication by PIN                  
 30.5  The international automatic teller machine (ATM) network service                  
 30.6  Load and traffic in TP systems                  
 30.7  Summary and trends                  
          Exercises                  
 Appendix: Evolution of computer systems                  
 A. 1   Evolution and exploitation of technology                  
 A.2   Operating systems and distributed operating systems                  
 A.3   Databases                  
 A.4   Concurrency control                  
  Bibliography                  
  Glossary                  
  Author index                  
  Subject index                  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號