Operating Systems

Operating Systems

by William Stallings

Hardcover(Older Edition)



Serving as both a basic reference and an up-to-date survey of the state of the art, this book covers the concepts, structure, and mechanisms of operating systems. Stallings presents the nature and characteristics of modern-day operating systems clearly and completely. Updated treatment of Windows as a case study to cover Windows Vista. Online animations with references incorporated throughout. A new chapter on Embedded Operating Systems. Part Six (Distributed Systems and Security) moved online, reducing the cost and size of the book without loss of content. Expanded coverage of security. New figures added, with many existing figures updated to enhance clarity. A useful reference for programmers, systems engineers, network designers and others involved in the design of computer products, information system and computer system personnel.

Product Details

ISBN-13: 9780024154934
Publisher: Simon & Schuster Adult Publishing Group
Publication date: 02/28/1995
Edition description: Older Edition
Pages: 701
Product dimensions: 7.26(w) x 9.60(h) x 1.24(d)

About the Author

    William Stallings has made a unique contribution to understanding the broad sweep of technical developments in computer networking and computer architecture. He has authored 17 titles, and counting revised editions, a total of 41 books on various aspects of these subjects. In over 20 years in the field, he has been a technical contributor, technical manager, and an executive with several high-technology firms. Currently he is an independent consultant whose clients have included computer and networking manufacturers and customers, software development firms, and leading-edge government research institutions.

         He has seven times received the award for the best Computer Science textbook of the year from the Text and Academic Authors Association.

         Bill has designed and implemented both TCP/IP-based and OSI-based protocol suites on a variety of computers and operating systems, ranging from microcomputers to mainframes. As a consultant, he has advised government agencies, computer and software vendors, and major users on the design, selection, and use of networking software and products.

         As evidence of his commitment to providing a broad range of support to students, Bill created and maintains the Computer Science Student Resource Site at . This site provides documents and links on a variety of subjects of general interest to computer science students (and professionals).

         He is a member of the editorial board of Cryptologia, a scholarly journal devoted to all aspects of cryptology. He is a frequent lecturer and author of numerous technical papers. His books include Data and Computer Communications, Eighth Edition (Prentice Hall, 2007), which has become the standard in the field.

         Dr. Stallings holds a PhD from M.I.T. in Computer Science and a B.S. from Notre Dame in electrical engineering.

Table of Contents




          0.1  Outline of the Book

          0.2  Topic Ordering

          0.3  Internet and Web Resources


 Chapter 1 Computer System Overview

          1.1  Basic Elements

          1.2  Processor Registers

          1.3  Instruction Execution

          1.4  Interrupts

          1.5  The Memory Hierarchy

          1.6  Cache Memory

          1.7  I/O Communication Techniques

          1.8  Recommended Reading and Web Sites

          1.9  Key Terms, Review Questions, and Problems

          Appendix 1A   Performance Characteristics of Two-Level Memory

          Appendix 1B   Procedure Control

 Chapter 2 Operating System Overview

          2.1  Operating System Objectives and Functions

          2.2  The Evolution of Operating Systems

          2.3  Major Achievements

          2.4  Characteristics of Modern Operating Systems

      2.5  Windows Vista Overview

      2.6  Traditional UNIX Systems

      2.7  Modern UNIX Systems

      2.8  Linux

          2.9  Recommended Reading and Web Sites

          2.10 Key Terms, Review Questions, and Problems



 Chapter 3     Process Description and Control

          3.1  What is a Process?

          3.2  Process States

          3.3  Process Description

          3.4  Process Control

      3.5  UNIX FreeBSD Process Management

          3.6  Summary

          3.7  Recommended Reading

          3.8  Key Terms, Review Questions, and Problems

 Programming Project 1     Developing a Shell     Chapter 4     Threads, SMP, and Microkernels

          4.1  Processes and Threads

          4.2  Symmetric Multiprocessing (SMP)

          4.3  Microkernels

      4.4  Windows Vista Thread and SMP Management

      4.5  Solaris Thread and SMP Management

      4.6  Linux Process and Thread Management

          4.7  Summary

          4.8  Recommended Reading

          4.9  Key Terms, Review Questions, and Problems

 Chapter 5 Concurrency: Mutual Exclusion and Synchronization

          5.1  Principles of Concurrency

          5.2  Mutual Exclusion: Hardware Support

          5.3  Semaphores

          5.4  Monitors

          5.5  Message Passing

          5.6  Readers/Writers Problem

          5.7  Summary

          5.8  Recommended Reading

          5.9  Key Terms, Review Questions, and Problems

 Chapter 6 Concurrency: Deadlock and Starvation

           6.1  Principles of Deadlock

          6.2  Deadlock Prevention

          6.3  Deadlock Avoidance

          6.4  Deadlock Detection

          6.5  An Integrated Deadlock Strategy

          6.6  Dining Philosophers Problem

      6.7  UNIX Concurrency Mechanisms

      6.8  Linux Kernel Concurrency Mechanisms

      6.9  Solaris Thread Synchronization Primitives

      6.10 Windows Vista Concurrency Mechanisms

          6.11 Summary

          6.12 Recommended Reading

          6.13 Key Terms, Review Questions, and Problems



 Chapter 7 Memory Management

          7.1  Memory Management Requirements

          7.2  Memory Partitioning

          7.3  Paging

          7.4  Segmentation

          7.5  Summary

          7.6  Recommended Reading

          7.7  Key Terms, Review Questions, and Problems

          Appendix 7A  Loading and Linking

 Chapter 8 Virtual Memory

          8.1  Hardware and Control Structures

          8.2  Operating System Software

      8.3  UNIX and Solaris Memory Management

      8.4  Linux Memory Management

      8.5  Windows Vista Memory Management

          8.6  Summary

          8.7  Recommended Reading and Web Sites

          8.8  Key Terms, Review Questions, and Problems

          Appendix 8A   Hash Tables




 Chapter 9 Uniprocessor Scheduling

          9.1  Types of Scheduling

          9.2  Scheduling Algorithms

      9.3  Traditional UNIX Scheduling

          9.4  Summary

          9.5  Recommended Reading

          9.6  Key Terms, Review Questions, and Problems

          Appendix 9A   Response Time

          Appendix 9B   Queuing Systems

 Programming Project 2     The HOST Dispatcher Shell



 Chapter 10    Multiprocessor and Real-Time Scheduling

           10.1 Multiprocessor Scheduling

          10.2 Real-Time Scheduling

      10.3 Linux Scheduling

      10.4 UNIX FreeBSD Scheduling

      10.5 Windows Vista Scheduling

          10.6 Summary

          10.7 Recommended Reading

          10.8 Key Terms, Review Questions, and Problems



 Chapter 11    I/O Management and Disk Scheduling

          11.1 I/O Devices

          11.2 Organization of the I/O Function

          11.3 Operating System Design Issues

          11.4 I/O Buffering

          11.5 Disk Scheduling

          11.6 RAID

           11.7 Disk Cache

      11.8 UNIX FreeBSD I/O

      11.9 Linux I/O

      11.10     Windows Vista I/O

          11.11     Summary

          11.12     Recommended Reading

          11.13     Key Terms, Review Questions, and Problems

          Appendix 11A Disk Storage Devices

 Chapter 12    File Management

          12.1 Overview

          12.2 File Organization and Access

          12.3 File Directories

          12.4 File Sharing

          12.5 Record Blocking

          12.6 Secondary Storage Management

      12.7 UNIX File Management

      12.8 Linux File Management

      12.9 Windows Vista File System

          12.10     Summary

          12.11     Recommended Reading

          12.12     Key Terms, Review Questions, and Problems



 Chapter 13    Embedded Operating Systems

          13.1 The Role of Embedded Operating Systems

          13.2 Embedded OS Requirements

          13.3 Scheduling

          13.4 Other Embedded OS Functions

          13.5 Example System: eCOS

          13.6 Example System: TinyOS

          13.7 Recommended Reading and Web Sites

          13.8 Key Terms, Review Questions, and Problems




 Chapter 14    Networking

          14.1 The Need for a Protocol Architecture

          14.2 The TCP/IP Protocol Architecture

          14.3 Sockets

          14.4 Linux Networking

          14.5 Summary

          14.6 Recommended Reading and Web Sites

          14.7 Key Terms, Review Questions, and Problems

          Appendix 14A  The Trivial File Transfer Protocol

 Chapter 15    Distributed Processing, Client/Server, and Clusters

          15.1 Client/Server Computing

          15.2 Distributed Message Passing

          15.3 Remote Procedure Calls

          15.4 Clusters

          15.5 Windows Vista Cluster Server

15.6 Sun Cluster

15.7 Beowulf and Linux Clusters

          15.8 Summary

          15.9 Recommended Reading

          15.10     Key Terms, Review Questions, and Problems

 Chapter 16    Distributed Process Management

          16.1 Process Migration

          16.2 Distributed Global States

          16.3 Distributed Mutual Exclusion

          16.4 Distributed Deadlock

          16.5 Summary

          16.6 Recommended Reading

          16.7 Key Terms, Review Questions, and Problems




 Chapter 17    Computer Security

          17.1 Security Threats

          17.2 Protection

          17.3 Intruders

          17.4 Malicious Software

          17.5 Trusted Systems

17.6 Windows Vista Security

          17.7 Summary

          17.8 Recommended Reading

          17.9 Key Terms, Review Questions, and Problems

          Appendix 17A  Encryption




 Appendix A  Topics in Concurrency

          A.1  Mutual Exclusion: Software Approaches

          A.2  Race Conditions and Semaphores

          A.3  A Barbershop Problem

           A.4  Problems  Appendix B    Object-Oriented Design

          B.1  Motivation

          B.2  Object-Oriented Concepts

          B.3  Benefits of Object-Oriented Design

          B.4  CORBA

          B/5  Recommended Reading and Web Site

 Appendix C    Programming and Operating System Projects

          C.1  Projects for Teaching Operating Systems

          C.2  NACHOS

          C.3  Research Projects

          C.4  Programming Projects

          C.5  Reading/Report Assignments

 Appendix D    OSP: An Environment for Operating Systems Projects

          D.1  Overview

          D.2  Innovative Aspects of OSP

          D.3  Comparison with Other Operating System Courseware

 Appendix E    BACI: The Ben-Ari Concurrent Programming System

          E.1  Introduction

          E.2  BACI

          E.3  Examples of BACI Programs

          E.4  BACI Projects

          E.5  Enhancements to the BACK System










Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews