主页 详情

《现代操作系统 英文版》_(荷)Andrew S.Tanenbaum著_10441592_7111091566

【书名】:《现代操作系统 英文版》
【作者】:(荷)Andrew S.Tanenbaum著
【出版社】:北京:机械工业出版社
【时间】:2002
【页数】:952
【ISBN】:7111091566
【SS码】:10441592

最新查询

内容简介

1 INTRODUCTLON

PREFACE

1.1. WHAT IS AN OPERATING SYSTEM?

1.1.1. The Operating System as an Extended Machine

1.1.2. The Operating System as a Resource Manager

1.2. HISTORY OF OPERATING SYSTEMS

1.2.1. The First Generation(1945-55)

1.2.2. The Second Generation(1995-65)

1.2.3. The Third Generation(1965-1980)

1.2.4. The Fourth Generation(1980-Present)

1.2.5. Ontogeny Recapitulates Phylogeny

1.3. THE OPERATING SYSTEM ZOO

1.3.1. Mainframe Operating Systems

1.3.4. Personal Computer Operating Systems

1.3.5. Real-Time Operating systems

1.3.2. Server Operating Systems

1.3.3. Multiprocessor Operating Systems

1.3.6. Embedded Operating Systems

1.3.7. Smart Card Operating Systems

1.4. COMPUTER HARDWARE REVIEW

1.4.1. Processors

1.4.2. Memory

1.4.3. I/O Devices

1.4.4. Buses

1.5. OPERATING SYSTEM CONCEPTS

1.5.1. Processes

1.5.2. Deadlocks

1.5.3. Memory Management

1.5.5. Files

1.5.4. Input/Output

1.5.6. Security

1.5.7. The Shell

1.5.8. Recycling of Concepts

1.6. SYSTEM CALLS

1.6.1. System Calls for process Management

1.6.2. System Calls for File Management

1.6.3. System Dalls for Directory Management

1.6.4. Miscellaneous System Calls

1.6.5. The Windows Win32 API

1.7. OPERATING SYSTEM STRUCTURE

1.1.1. Monolithic Systems

1.1.2. Layered Systems

1.2.3. Virtual Machines

1.7.5 Client-Server Model

1.2.4. Exokernels

1.8. RESEARCH ON OPERATING SYSTEMS

1.9. OUTLINE OF THE REST OF THIS BOOK

1.10. METRIC UNITS

1.11. SUMMARY

2 PROCESSES AND THREADS

2.1. PROCESSES

2.1.1. The Process Model

2.1.2. Process Creation

2.1.3. Process Termination

2.1.4. Process Hierarchies

2.1.5. Process States

2.1.6. Implementation of Processes

2.2. THREADS

2.2.1. The Thread Model

2.2.2. Thread Usage

2.2.3. Implementing Threads in User Space

2.2.4. Implementing Threads in the Kernel

2.2.5. Hybrid Implementations

2.2.6. Scheduler Activations

2.2.7. Pop-Up Threads

2.2.8. Making Single-Threaded Code Multithreaded

2.3 INTERPROCESS COMMUNICATION

2.3.1. Race Conditions

2.3.2. Critical Regions

2.3.3. Mutual Exclusion with Busy Waiting

2.3.4. Sleep and Wakeup

2.3.5. Semaphores

2.3.6. Mutexes

2.3.7. Monitors

2.3.8. Message Passing

2.3.9. Barriers

2.4. CLASSICAL IPC PROBLEMS

2.4.1. The Dining Philosophers Problem

2.4.2. The Readers and Writers Problem

2.4.3. The Sleeping Barber Problem

2.5. SCHEDULING

2.5.1. Introduction to Scheduling

2.5.2. Scheduling in Batch Systems

2.5.3. Scheduling in Interactive Systems

2.5.4. Scheduling in Real-Time Systems

2.5.5. Policy versus Mechanism

2.5.6. Thread Scheduling

2.6. RESEARCH ON PROCESSES AND THREADS

2.7. SUMMARY

3 DEADLOCKS

3.1. RESOURCES

3.1.1. Preemptable and Nonpreemptable Resources

3.1.2. Resource Acquisition

3.2. INTRODUCTION TO DEADLOCKS

3.2.1. Conditions for Deadlock

3.3.2. Deadlock Modeling

3.3. THE OSTRICH ALGORITHM

3.4. DEADLOCK DETECTION AND RECOVERY

3.4.1. Deadlock Detection with One Resource of Each Type

3.4.2. Deadolck Detection with Multiple Resource of Each Type

3.4.3. Recovery from Deadlock

3.5. DEADLOCK AVOIDANCE

3.5.1. Resource Trajectories

3.5.2. Safe and Unsafe States

3.5.3. The Banker s Algorithm for a Single Resource

3.5.4. The Banker s Algorithm for Multiple Resources

3.6. DEADLOCK PREVENTION

3.6.1. Attacking the Mutual Exclusion Condition

3.6.2. Attacking the Hold and Wait Condition

3.6.3. Attacking the No Preemption Condition

3.6.4. Attacking the Circular Wait Condition

3.7. OTHER ISSUES

3.7.1. Two-Phase Locking

3.7.2. Nonresource Deadlocks

3.7.3. Starvation

3.8. RESEARCH ON DEADLOCKS

3.9. SUMMARY

4 MEMORY MANAGEMENT

4.1.1. Monoprogramming without Swapping or Paging

4.1. BASIC MEMORY MANAGEMENT

4.1.2. Multiprogramming with Fixed Partitions

4.1.3. Modeling Multiprogramming

4.1.4. Analysis of Multiprogramming System Performance

4.1.5. Relocation and Protection

4.2. SWAPPING

4.2.1. Memory Management with Bitmaps

4.2.2. Memory Management with Linked Lists

4.3. VIRTUAL MEMORY

4.3.1. Paging

4.3.2. Page Tables

4.3.3. TLBs-Translation Lookaside Buffers

4.3.4. Inverted Page Tables

4.4. PAGE REPLACEMENT ALGORITHMS

4.4.1. The Optimal Page Replacement Algorithm

4.4.2. The Not Recently Used Page Replacement Algorithm

4.4.3. The First-In, First-Out

4.4.4. The Second Chance Page Replacement Algorithm

4.4.5. The Clock Page Replacement Algorithm

4.4.6. The Least Recently Used

4.4.7. Simulating LRU in Software

4.4.8. The Working Set Page Replacement Algorithm

4.4.9. The WSClock Page Replacement Algorithm

4.4.:. Summary of Page Replacement Algorithms

4.5. MODELING PAGE REPLACEMNT ALGORITHMS

4.5.1. Belady s Anomaly

4.5.2. Stack Algorithms

4.5.3. The Distance String

4.5.4. Predicting Page Fault Rates

4.6.1. Local versus Global Allocation Policies

4.6. DESIGN ISSUES FOR PAGING SYSTEMS

4.6.2. Load Control

4.6.3. Page Size

4.6.4. Separate Instruction and Data Spaces

4.6.5. Shared Pages

4.6.6. Cleaning Policy

4.6.7. Virtual Memory Interface

4.7. IMPLEMENTATION ISSUES

4.7.1. Operating System Involvement with Paging

4.7.2. Page Fault Handling

4.7.3. Instruction Backup

4.7.4. Locking Pages in Memory

4.7.5. Backing Store

4.7.6. Separation of Policy and Mechanism

4.8. SEGMENTATION

4.8.1. Implementation of Pure Segmentation

4.8.2. Segmentation with Paging: MULTICS

4.8.3. Segmentation with Paging: The Intel Pentium

4.9. RESEARCH ON MEMORY MANAGEMENT

4.10 SUMMARY

5 INPUT/OUTPUT

5.1. PRINCIPLES OF I/O HARDWARE

5.1.1. I/O Devices

5.1.2. Device Controllers

5.1.3. Memory-Mapped I/O

5.1.4. Direct Memory Access

5.1.5. Interrupts Revisited

5.2. PRINCIPLES OF I/O SOFTWARE

5.2.1. Goals of the I/O Software

5.2.2. Programmed I/O

5.2.3. Interrupt-Driven I/O

5.2.4. I/O Using DMA

5.3. I/O SOFTWARE LAYERS

5.3.1. Interrupt Handlers

5.3.2. Device Drivers

5.3.3. Device-Independent I/O Software

5.3.4. User-Space I/O Software

5.4. DISKS

5.4.1. Disk Hardware

5.4.2. Disk Formatting

5.4.3. Disk Arm Scheduling Algorithms

5.4.4. Error Handling

5.4.5. Stable Storage

5.5. CLOCKS

5.5.1. Clock Hardware

5.5.2. Clock Software

5.5.3. Soft Timers

5.6. CHARACTER-ORIENTED TERMINALS

5.6.1. RS-232 Terminal Hardware

5.6.2. Input Software

5.6.3. Output Software

5.7. GRAPHICAL USER INTERFACES

5.7.1. Personal Computer Keyboard, Mouse, and Display Hardware

5.7.2. Input Software

5.7.3. Output Software for Windows

5.8. NETWORK TERMINALS

5.8.1. The X Window System

5.8.2. The SLIM Network Terminal

5.9. POWER MANAGEMENT

5.9.1. Hardware Issues

5.9.2. Operating System Issues

5.9.3. Degraded Operation

5.10. RESEARCH ON INPUT/OUTPUT

5.11. SUMMARY

6 FILE SYSTEMS

6.1. FILES

6.1.1. File Naming

6.1.2. File Structure

6.1.3. File Types

6.1.4. File Access

6.1.5. File Attributes

6.1.6. File Operations

6.1.7. An Example Program Using File System Calls

6.1.8. Memory-Mapped Files

6.2. DIRECTORIES

6.2.1. Single-Level Directory Systems

6.2.2. Two-level Directory Systems

6.2.3. Hierarchical Directory Systems

6.2.4. Path Names

6.2.5. Directory Operations

6.3. FILE SYSTEM IMPLEMENTATION

6.3.1. File System Layout

6.3.2. Implementing Files

6.3.3. Implementing Directories

6.3.4. Shared Files

6.3.5. Disk Space Management

6.3.6. File System Reliability

6.3.7. File System Performance

6.3.8. Log-Structured File Systems

6.4. EXAMPLE FILE SYSTEMS

6.4.1. CD-ROM File Systems

6.4.2. The CP/M File System

6.4.3. The MS-DOS File System

6.4.4. The Windows 98 File System

6.4.5. The UNIX V7 File System

6.5. RESEARCH ON FILE SYSTEMS

6.6. SUMMARY

7 MULTIMEDLA OPERATING SYSTEMS

7.1. INTRODUCTION TO MULTIMEDIA

7.2. MULTIMEDIA FILES

7.2.1. Audio Encoding

7.2.2. Video Encoding

7.3. VIDEO COMPRESSION

7.3.1. The JPEG Standard

7.3.2. The MPEG Standard

7.4. MULTIMEDIA PROCESS SCHEDULING

7.4.1. Scheduling Homogeneous Processes

7.4.2. General Real-Time Scheduling

7.4.3. Rate Monotonic Scheduling

7.4.4. Earliest Deadline First Scheduling

7.5. MULTIMEDIA FILE SYSTEM PARADIGMS

7.5.1. VCR Control Functions

7.5.2. Near Video on Demand

7.5.3. Near Video on Demand with VCR Functions

7.6. FILE PLACEMENT

7.6.1. Placing a File on a Single Disk

7.6.2. Two Alternative File Organization Strategies

7.6.3 Placing Files for Near Video on Demand

7.6.4 Placing Multiple Files on a Single Disk

7.6.5 Placing Files on Multiple Disks

7.7. CACHING

7.7.1. Block Caching

7.7.2. File Caching

7.8. DISK SCHEDULING FOR MULTIMEDIA

7.8.1. Static Disk Scheduling

7.8.2. Dynamic Disk Scheduling

7.9. RESEARCH ON MULTIMEDIA

7.10. SUMMARY

8 MULTIPLE PROCESSOR SYSTEMS

8.1. MULTIPROCESSORS

8.1.1. Multiprocessor Hardware

8.1.2. Multiprocessor Operating System Types

8.1.3. Multiprocessor Synchronization

8.1.4. Multiprocessor Scheduling

8.2. MULTICOMPUTERS

8.2.1. Multicomputer Hardware

8.2.2. Low-Level Communication Software.

8.2.3. User-Level Communication Software

8.2.4. Remote Procedure Call

8.2.5. Distributed Shared Memory

8.2.6. Multicomputer Scheduling

8.2.7. Load Balancing

8.3. DISTRIBUTED SYSTEMS

8.3.1. Network Hardware

8.3.2. Network Services and Protocols

8.3.3. Document-Based Middleware

8.3.4. File System-Based Middleware

8.3.5. Shared Object-Based Middleware

8.3.6. Coordination-Based Middleware

8.4.RESEARCH ON MULTIPLE PROCESSOR SYSTEMS

8.5. SUMMARY

9 SECURITY

9.1. THE SECURITY ENVIRONMENT

9.1.1. Threats

9.1.2. Intruders

9.1.3. Accidental Data Loss

9.2. BASICS OF CRYPTOGRAPHY

9.2.1. Secret-Key Cryptography

9.2.2. Public-Key Cryptography

9.2.3. One-Way Functions

9.2.4. Digital Signatures

9.3. USER AUTHENTICATION

9.3.1. Authentication Using Passwords

9.3.2. Authentication Using a Physical Object

9.3.3. Authentication Using Biometrics

9.3.4 Countermeasures

9.4. ATTACKS FROM INSIDE THE SYSTEM

9.4.1. Trojan Horses

9.4.2. Login Spoofing

9.4.3. Logic Bombs

9.4.4. Trap Doors

9.4.5. Buffer Overflow

9.4.6. Generic Security Attacks

9.4.7. Famous Security Flaws

9.7.8. Design Principles for Security

9.5. ATTACKS FROM OUTSIDE THE SYSTEM

9.5.1. Virus Damage Scenarios

9.5.2. How Viruses Work

9.5.3. How Viruses Spread

9.5.4. Antivirus and Anti-Antivirus Techniques

9.5.5. The Internet Worm

9.5.6. Mobile Code

9.5.7. Java Security

9.6. PROTECTION MECHANISMS

9.6.1. Protection Domains

9.6.2. Access Control Lists

9.6.3. Capabilities

9.7. TRUSTED SYSTEMS

9.7.1. Trusted Computing Base

9.7.2. Formal Models of Secure Systems

9.7.3. Multilevel Security

9.7.4. Orange Book Security

9.7.5. Covert Channels

9.8. RESEARCH ON SECURITY

9.9. SUMMARY

10 CASE STUDY 1: UNIX AND LINUX

10.1. HISTORY OF UNIX

10.1.1. UNICS

10.1.2. PDP-11 UNIX

10.1.3. Portable UNIX

10.1.4. Berkeley UNIX

10.1.5. Standard UNIX

10.1.6. MINIX

10.1.7. Linux

10.2. OVERVIEW OF UNIX

10.2.1. UNIX Goals

10.2.2. Interfaces to UNIX

10.2.3. The UNIX Shell

10.2.4. UNIX Utility Programs

10.2.5. Kernel Structure

10.3. PROCESSES IN UNIX

10.3.1. Fundamental Concepts

10.3.2. Process Management System Calls in UNIX

10.3.3. Implementation of Processes in UNIX

10.3.4. Booting UNIX

10.4. MEMORY MANAGEMENT IN UNIX

10.4.1. Fundamental Concepts

10.4.2. Memory Management System Calls in UNIX

10.4.3. Implementation of Memory Management in UNIX

10.5. INPUT/OUTPUT IN UNIX

10.5.1. Fundamental Concepts

10.5.2. Input/Output System Calls in UNIX

10.5.3. Implementation of Input/Output in UNIX

10.5.4. Streams

10.6. THE UNIX FILE SYSTEM

10.6.1. Fundamental Concepts

10.6.2. File System Calls in UNIX

10.6.3. Implementation of the UNIX File System

10.6.4. NFS: The Network File System

10.7. SECURITY IN UNIX

10.7.1. Fundamental Concepts

10.7.2. Security System Calls in UNIX

10.7.3. Implementation of Security in UNIX

10.8. SUMMARY

11.1. HISTORY OF WINDOWS 2000

11.1.1. MS-DOS

11 CASE STUDY 2: WINDOWS 2000

11.1.2. Windows 95/98/Me

11.1.3. Windows NT

11.1.4. Windows 2000

11.2. PROGRAMMING WINDOWS 2000

11.2.1. The Win32 Application Programming Interface

11.2.2. The Registry

11.3. SYSTEM STRUCTURE

11.3.1. Operating System Structure

11.3.2. Implementation of Objects

11.3.3. Environment Subsystems

11.4. PROCESSES AND THREADS IN WINDOWS 2000

11.4.1. Fundamental Concepts

11.4.2. Job, Process, Thread and Fiber Management API Calls

11.4.3. Implementation of Processes and Threads

11.4.4. MS-DOS Emulation

11.5. MEMORY MANAGEMENT

11.5.1. Fundamental Concepts

11.5.2. Memory Management System Calls

11.5.3. Implementation of Memory Management

11.4.5. Booting Windows 2000

11.6. INPUT/OUTPUT IN WINDOWS 2000

11.6.1. Fundamental Concepts

11.6.2. Input/Output API Calls

11.6.3. Implementation of I/O

11.6.4. Device Drivers

11.7. THE WINDOWS 2000 FILE SYSTEM

11.7.1. Fundamental Concepts

11.7.2. File System API Calls in Windows 2000

11.7.3. Implementation of the Windows 2000 File System

11.8. SECURITY IN WINDOWS 2000

11.8.1. Fundamental Concepts

11.8.2. Security API Calls

11.8.3. Implementation of Security

11.9. CACHING IN WINDOWS 200

11.10. SUMMARY

12 OPERATING SYSTEM DESIGN

12.1. THE NATURE OF THE DESIGN PROBLEM

12.1.1. Goals

12.1.2. Why,is it Hard to Design an Operating Systems?

12.2. INTERFACE DESIGN

12.2.1. Guiding Principles

12.2.2. Paradigms

12.2.3. The System Call Interface

12.3.1. System Structure

12.3. IMPLEMENTATION

12.3.2. Mechanism versus Policy

12.3.3. Orthogonality

12.3.4. Naming

12.3.5. Binding Time

12.3.6. Static versus Dynamic Structures

12.3.7. Top-Down versus Bottom-Up Implementation

12.3.8. Useful Techniques

12.4. PERFORMANCE

12.4.1. Why are Operating Systems Slow?

12.4.2. What Should be Optimized?

12.4.3. Space-Time Trade-offs

12.4.4. Caching

12.4.5. Hints

12.4.6. Exploiting Locality

12.5. PROJECT MANAGEMENT

12.4.7. Optimize the Common Case

12.5.1. The Mythical Man Month

12.5.2. Team Structure

12.5.3. The Role of Experience

12.5.4. No Silver Bullet

12.6. TRENDS IN OPERATING SYSTEM DESIGN

12.6.1. Large Address Space Operating Systems

12.6.2. Networking

12.6.3. Parallel and Distributed Systems

12.6.4. Multimedia

12.6.5. Battery-Powered Computers

12.6.6. Embedded Systems

12.7. SUMMARY

13.1. SUGGESTIONS FOR FURTHER READING

13 READING LIST AND BIBLIOGRAPHY

13.1.1. Introduction and General Works

13.1.2. Processes and Threads

13.1.3. Deadlocks

13.1.4. Memory Management

13.1.5. Input/Output

13.1.6. File Systems

13.1.7. Multimedia Operating Systems

13.1.8. Multiple Processor Systems

13.1.9. Security

13.1.10. UNIX and Linux

13.1.11. Windows 2000

13.1.12. Design Principles

13.2 ALPHABETICAL BIBLIOGRAPHY

INDEX


书查询(www.shuchaxun.com)本网页唯一编码:
2d64c32cb371248127cef022471b1405#fe1d398b7b6658e07a7fa0d38683af32#85373192#《经典原版书库--现代操作系统(英文版·第2版)》_10441592.zip