Operating Systems / Edition 3

Operating Systems / Edition 3

by Gary Nutt
ISBN-10:
0201773449
ISBN-13:
9780201773446
Pub. Date:
07/03/2003
Publisher:
Pearson
ISBN-10:
0201773449
ISBN-13:
9780201773446
Pub. Date:
07/03/2003
Publisher:
Pearson
Operating Systems / Edition 3

Operating Systems / Edition 3

by Gary Nutt
$220.0
Current price is , Original price is $220.0. You
$220.00 
  • SHIP THIS ITEM
    This item is available online through Marketplace sellers.
  • PICK UP IN STORE
    Check Availability at Nearby Stores
$206.25 
  • SHIP THIS ITEM

    Temporarily Out of Stock Online

    Please check back later for updated availability.

    • Condition: Good
    Note: Access code and/or supplemental material are not guaranteed to be included with used textbook.

This item is available online through Marketplace sellers.


Overview

presenting core operating system concepts illustrated with real-world examples that provide a practical perspective on the material. This book features a complete discussion of operating system principles, supplemented with code, algorithms, implementation issues, and lab exercises to provide a comprehensive understanding of contemporary operating system practice.

Features

  • Discusses the basic principles behind the design of all operating systems
  • In the Hangar examples show how the principles are applied in practice using Linux/UNIX and the Windows NT operating systems
  • Performance Tuning discussions explain how system designers have exploited the basic principles to achieve higher performance
  • Lab Exercises allow students to gain hands-on experience with the details of how to use Linux/UNIX



Product Details

ISBN-13: 9780201773446
Publisher: Pearson
Publication date: 07/03/2003
Edition description: REV
Pages: 894
Product dimensions: 7.20(w) x 9.20(h) x 2.00(d)

About the Author

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

Preface.

1. Introduction.

Computers and Software.

Operating System Strategies.

Summary.

Exercises.

2. Using the Operating System.

The Programmer's Abstract Machine.

Resources.

Processes and Threads.

Writing Concurrent Programming.

Objects.

Summary.

Exercises.

Lab Exercise: A Simple Shell.

Lab Exercise: A Multithreaded Application.

3. Operating System Organization.

Basic Functions.

General Implementation Considerations.

Contemporary OS Kernels.

Summary.

Exercises.

Lab Exercise: Observing OS Behavior.

4. Computer Organization.

The von Neumann Architecture.

The Central Processing Unit.

The Primary (Executable) Memory.

I/O Devices.

Interrupts.

Conventional Contemporary Computers.

Mobile Computers.

Multiprocessors and Parallel Computers.

Summary.

Exercises.

5. Device Management.

The I/O System.

I/O Strategies.

Device Manager Design.

Buffering.

Device Class Characteristics.

Summary.

Exercises.

Lab Exercise: A Floppy Disk Driver.

6. Implementing Processes, Threads, and Resources.

The Task at Hand.

The Hardware Process.

The Abstract Machine Interface.

The Process Abstraction.

The Thread Abstraction.

State Diagrams.

Resource Managers.

Generalizing Process Management Policies.

Summary.

Exercises.

Lab Exercise: Kernel Timers.

Lab Exercise: Manipulating Kernel Objects.

7. Scheduling.

Overview.

Scheduling Mechanisms.

Strategy Selection.

Non-Preemptive Strategies.

Preemptive Strategies.

Implementing the Scheduler.

Summary.

Exercises.

Lab Exercise: Analyzing the Round Robin Scheduling.

8. Basic Synchronization Principles.

Cooperating Processes.

Evolving from the Classic Solution.

Semaphores: The Basis of Modern Solutions.

Synchronization in Shared Memory Multiprocessors.

Summary.

Exercises.

Lab Exercise: Bounded Buffer Problem.

9. High-Level Synchronization and Interprocess Communication.

Alternative Synchronization Primitives.

Monitors.

Interprocess Communication.

Summary.

Exercises.

Lab Exercise: Using Pipes.

Lab Exercise: Refining the Shell.

10. Deadlock.

Background.

A System Deadlock Model.

Prevention.

Avoidance.

Detection and Recovery.

Summary.

Exercises.

11. Memory Management.

The Basics.

The Address Space Abstraction.

Memory Allocation.

Dynamic Address Space Binding.

Modern Memory Manager Strategies.

Summary.

Exercises.

Lab Exercise: Using Shared Memory.

12. Virtual Memory.

The Task at Hand.

Address Translation.

Paging.

Static Paging Algorithms.

Dynamic Paging Algorithms.

Segmentation.

Memory-Mapped Files.

Summary.

Exercises.

Lab Exercise: Memory-Mapped Files.

13. File Management.

The Task at Hand.

Files.

Low-Level File Implementations.

Supporting High-Level File Abstractions.

Directories.

Implementing Directories.

File Systems.

Summary.

Exercises.

Lab Exercise: A Simple File Manager.

14. Protection and Security.

The Problem.

Authentication.

Authorization.

Cryptography.

Summary.

Exercises.

15. Networks.

From Computer Communications to Networks.

The ISO OSI Network Architecture Model.

Media Access Control (MAC) Protocols.

The Network Layer.

The Transport Layer.

Using the Transport Layer.

Network Security.

Summary.

Exercises.

Lab Exercise: Using TCP/IP.

16. Remote Files.

Sharing Information Across the Network.

Remote Disk Systems.

Remote File Systems.

File-Level Caching.

Directory Systems and their Implementation.

Summary.

Exercises.

17. Distributed Computing.

Distributed OS Mechanisms.

Distributed Primary Memory.

Remote Procedure Call.

Remote Objects.

Distributing Process Management.

Summary.

Exercises.

Lab Exercise: Using Remote Procedure Call.

18. Distributed Programming Runtime Systems.

Supporting Distributed Software and Middleware.

Classic Distributed Application Programs.

Middleware Support for Classic Distributed Programming.

Distributed Programming on the Web.

Middleware Support for Mobile Code.

Summary.

Exercises.

19. Design Strategies.

Design Considerations.

Monolithic Kernels.

Modular Organization.

Extensive Nucleus or Microkernel Organization.

Layered Organizations.

Operating Systems for Distributed Systems.

Summary.

Exercises.

20. The LINUX Kernel.

The LINUX Kernel.

Kernel Organization.

Modules and Device Management.

Process and Resource Management.

Memory Manager.

File Management.

Summary.

21. The Windows NT/2000XP Kernel.

Introduction.

The NT Kernel.

The NT Executive.

Kernel Local Procedure Calls and IPC.

Subsystems.

Summary.

Glossary.

Bibliography.

Index.

From the B&N Reads Blog

Customer Reviews