did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780201773446

Operating Systems

by
  • ISBN13:

    9780201773446

  • ISBN10:

    0201773449

  • Edition: 3rd
  • Format: Paperback
  • Copyright: 2003-07-03
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $220.00 Save up to $88.00
  • Rent Book $132.00
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    USUALLY SHIPS IN 24-48 HOURS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

Supplemental Materials

What is included with this book?

Summary

Operating Systems provides an understanding of contemporary operating system concepts by integrating the principles behind the design of all operating systems with how they are put into practice in the real world. Throughout, Gary Nutt provides a complete discussion of operating concepts and supplements this with real code examples, algorithms, and discussions about implementation issues. The book also includes many lab exercises that provide students with the opportunity to practice with Linux, UNIX, and Windows.

Author Biography

Gary J. Nutt is a Professor of Computer Science at the University of Colorado. He has also worked as researcher at Xerox PARC and Bell Labs, and as a corporate Vice President and manager of the Boulder office of Interactive Systems. His research interests are in operating systems, distributed systems, performance, and collaboration technology. He teaches in these areas as well as object-oriented software and networks.

Table of Contents

Introduction
Computers and Software
General Systems Software
Resource Abstraction
Resource Sharing
Computers without System Software
Operating System Strategies
Batch Systems
Timesharing Systems
Personal Computers and Workstations
Process Control and Real-time Systems
Networks
The Genesis of Modern Operating Systems
Summary
Exercises
Using the Operating System
The Computational Model
File Resources
Other Resources
Processes
Initializing the Computational Environment
Executing Computations
Summary
Exercises
Programming Practice
Operating Systems Organization
Factors in Operating System Design
Performance
Protection and Security
Correctness
Maintainability
Commercial Influence on Operating Systems
Standards and Open Systems
Basic Functions
Device Management
Process and Resource Management
Memory Management
File Management
Functional Organization
Basic Implementation Considerations
Supervisor and User Modes
Kernels
System Call Versus Message Passing
Summary
Exercises
Computer Organization
The von Neumann Architecture
The Central Processing Unit
The Arithmetical-Logical Unit
The Control Unit
Memory
Devices
General Device Characteristics
Device Controllers
Device Drivers
Interrupts
The Mode Bit Revisited: The Trap Instruction
Summary
Exercises
Programming Practice
Device Management
Device Management Approaches
I/O System Organization
Direct I/O with Polling
Interrupt-Driven I/O
Memory Mapped I/O
Direct Memory Access
Buffering
Device Drivers
The Device Driver Interface
CPU-Device Interactions
I/O Optimization
Some Device Management Scenarios
Serial Communications
Sequentially Accessed Storage Devices
Randomly Accessed Devices
Summary
Exercises
Programming Practice
Process Management
The Operating System View of a Process
Process Descriptors
Execution Monitoring and Control
Managing Resources
The Address Space
Generating the Address Space
Executing the Program
Maintaining Consistency in the Address Space
Managing Resources
Process State Diagram
The Resource Manager
Creating Processes
Threads Revisited
Process Structuring
Refining the Process Manager
Specializing Resource Allocation Strategies
Summary
Exercises
Exploring Linux
Programming Practice
Scheduling
Scheduling Mechanisms
The Process Scheduler Organization
Voluntary CPU Sharing
Involuntary CPU Sharing
Strategy Selection
Nonpreemptive Strategies
First-Come-First-Served (FCFS)
Shortest Job Next (SJN)
Priority Scheduling
Deadline Scheduling
Preemptive Strategies
Round Robin (RR)
Multiple-Level Queues
Summary
Exercises
Exploring Linux
Programming Practice
Basic Synchronization Principles
Interacting Processes
Critical Sections
Deadlock
Coordinating Processes
Semaphores
Principles of Operation
Practical Considerations
Shared Memory Multiprocessors
Summary
Exercises
Programming Practice
High-Level Synchronization
Alternative Synchronization Primitives
AND Synchronization
Events
Monitors
Principles of Operation
Condition Variables
Interprocess Communication
Mailboxes
Message Protocols
Send and Receive Operations
Explicitly Ordering Event Execution
Summary
Exercises
Programming Practice
Deadlock
Background
Prevention
Avoidance
Detection and Recovery
Manual Deadlock Management
A System Deadlock Model
Prevention
Hold and Wait
Circular Wait
Allowing Preemption
Avoidance
The Banker's Algorithm
Detection and Recovery
Serially Reusable Resources
Consumable Resources
General Resource Systems
Recovery
Summary
Exercises
Memory Management
The Basics
Requirements on the Primary Memory
Mapping the Address Space to the Primary Memory
Dynamic Memory for Data Structures
Memory Allocation
Fixed Partition Memory Strategies
Variable Partition Memory Strategies
Contemporary Allocation Strategies
Dynamic Address Relocation
Run Time Bound Checking
Memory Manager Strategies
Swapping
Virtual Memory
Shared Memory Multiprocessors
Summary
Exercises
Programming Practice
Virtual Memory
Address Translation
Address Space Mapping
Segmentation and Paging
Paging
Virtual Address Translation
Static Paging Algorithms
Demand Paging Algorithms
Stack Algorithms
Implementation
Dynamic Paging Algorithms
The Working Set Algorithm
Implementation
Segmentation
Address Translation
Implementation
Summary
Exercises
File Management
Files
Low-Level Files
Structured Files
Database Management Systems
Multimedia Storage
Low-Level File Implementations
Open and Close
Block Management
Reading and Writing the Byte Stream
Supporting Other Storage Abstractions
Structured Sequential Files
Indexed Sequential Files
Database Management Systems
Multimedia Documents
Directories
Directory Structures
Directory Implementation
Opening a File in a Hierarchical Directory
Mounting Removable File Systems
Summary
Exercises
Protection and Security
Fundamentals
Policy and Mechanism
Implementing Policy and Mechanism
Authentication
Authorization
Encryption
Authentication
User Authentication
Authentication in Networks
Internal Access Authorization
The Basic Model
Changing the Protection State
Implementing Internal Authorization
Protection Domains
Implementing the Access Matrix
Access Control Lists
Capabilities
Cryptography
Summary
Exercises
Networks
From Computer Communications to Networks
Communication Subnetworks
Network Communication Protocols
The ISO OSI Network Architecture Model
The Evolution of Network Protocols
The Model
Low Level Protocols
The Physical Layer
The Data Link Layer
Contemporary Networks
The Network Layer
Addressing
Routing
Using the Network Layer
The Transport Layer
Communication Ports
Data Types
Reliable Communication
Using the Transport Layer
Naming
The Client-Server Model
Summary
Exercises
Remote Files
Sharing Information Across the Network
Explicit File Copying Systems
Implicit File Sharing
The Remote Storage Interface
Distributing the Work
Remote Disk Systems
The Remote Disk Operation
Reliability
The Future for Remote Disks
Remote File Systems
The General Architecture
Block Caching
Crash Recovery
File Level Caching
Directories and Their Implementations
File Names
Opening a File
Summary
Exercises
Distributed Systems
Distributing Process Management
Partitioning the Work
Supporting Partitioned Computation
General Process Management
Scheduling
Coordinating Processes
Message Passing
Message Passing Interfaces
Computing Paradigms
Remote Procedure Call
How Does it Work?
Implementing RPC
Distributed Memory Management
Remote Memory
Distributed Virtual Memory
Distributed Objects
Summary
Exercises
Strategies and Examples
General Organizational Issues
Software Organization
Managing Distributed Hardware
The Traditional UNIX Kernel
The Kernel
The Monolithic Organization
Conclusion
The LOCUS Operating System
The File System
Conclusion
Choices: An Object-Oriented Operating System
Frameworks
Using a Framework for the Memory Manager
Conclusion
The RC 4000 Nucleus
The Nucleus
Interprocess Communication
Conclusion
Microsoft Windows NT
The Microkernel
The Executive
Subsystems
Conclusion
The Mach Operating System
Process Management
Message Passing
Memory Management
Conclusion
The CHORUS Operating System
Process Management
Interprocess Communication
Memory Management
Conclusion
Summary
Exercises
Exploring Linux
Glossary
Bibliography
Index
Table of Contents provided by Publisher. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program