 | 书 名: 操作系统——并发与分布式软件设计 作 者: Jean Bacon 出 版 社: 电子工业出版社 ISBN : 750538788 原 价: ¥79 有一家网站低于85折正在热销 | 操作系统——并发与分布式软件设计-图书目录:
目 录 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 Javas sockets and streams 16.6 Distributed programming paradigms 16.7 Remote procedure call RPC 16.8 RPC-language integration 16.9 Javas 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
操作系统——并发与分布式软件设计-图书简介: 本书是一本用新的观念讲述操作系统原理和设计的高级教程。全书围绕着并发和分布式概念组织章节,避免仅仅将注意力置于传统的集中式系统,反映了分布式系统在当代已经被广泛应用的现实,从而更能为读者所接受。
全书共有30章,分为四个部分,第一部分和第二部分主要阐述了操作系统核心概念和基本功能,并介绍了操作系统理论和实践的最新进展。第三部分和第四部分将操作系统和数据库,以及分布式系统的设计结合起来,对UNIX,Linux,Windows 2000/NT和JVM等典型现代操作系统进行了具体分析,并讨论了Web服务,中间件和事务处理等应用。对于操作系统安全这样一个重要课题,书中还专门安排了一章进行论述。本书的另一个特点是,所有的代码示例均结合Java语言进行,并采用Java描述面向对象的概念、并发算法和分布式程序设计等。
本书适合作为研究生的操作系统课程教材,也适合程序员、软件工程师以及系统设计者作为学习和了解系统软件和操作系统的参考书。
操作系统——并发与分布式软件设计-相关最新图书 ·操作系统学习辅导及习题详解 ·TCP/IP详解(第二版) ·Protel DXP电路设计教程 ·局域网(第七版) ·研究生入学考试要点、真题解析与模拟试卷(操作系统) ·网页设计语言教程(HTML/CSS)1CD ·C++参考大全(第四版) ·研究生入学考试要点、真题解析与模拟试卷(数据结构) ·中国近代文化概论 ·袖珍电工材料手册 ·刘师培经典文存 ·半导体光学 ·连钡经营企业会计实务 ·中国民间舞教材与教法 ·自助求职英语 ·物理和化学常数表 ·七年级。英语(通用版)全国金牌奥赛ABC卷 ·英语。九年级(通用版)全国金牌奥赛ABC卷 ·理论的紧张 ·凝聚态物理学原理 |