Page Tools:
  • print-friendly version

Principles of Modern Operating Systems

Author(s): Jose Garrido, Kennesaw State University
Richard Schlesinger, Kennesaw State University
Details:
  • ISBN-13: 9780763735746
  • ISBN-10:0763735744
  • Hardcover    482 pages      © 2008
Price: International Sales $165.95 US List
Add to Cart Request a Review Copy

Overview

Principles of Modern Operating Systems presents a practical introduction to operating systems and illustrates these principles through a hands-on approach using accompanying simulation models developed in Java and C++.  The text is appropriate for undergraduate courses in computer science at the junior/senior level.  Case studies throughout the text  feature the implementation of Java and C++ simulation models, giving students a thorough look at both the theoretical and the practical concepts discussed in modern OS courses.  This pedagogical approach is designed to present a clearer, more practical look at OS concepts, techniques, and methods without sacrificing the theoretical rigor that is necessary at this level. Principles of Modern Operating Systems is the ideal choice for those interested in gaining comprehensive, hands-on experience using the modern techniques and methods necessary for working with these complex systems.

Simulations for Java 6 

ShowKey Features

Simulations throughout the text provide students with a hands-on component for learning and truly understanding key material throughout the text.

The object-oriented approach to modeling and simulation uses threads with Java and C++

The authors apply a relatively simple approach for modeling and simulation of complex systems, for example systems dealing with concurrency and time constraints.

A simulation software package CD-ROM is included with every copy of the text.

Back to top

ShowTable of Contents

1.   Basic Concepts of Operating Systems
     1.1   Introduction
     1.2   Computer Systems
     1.3   Operating Systems
     1.4   Categories of Operating Systems
     1.5   Brief History of Operating Systems
     1.6   Contemporary Operating Systems
     1.7   Summary
     1.8   Exercises and Questions
2.   Processes and Threads
     2.1   Introduction
     2.2   Processes
     2.3  Treads
     2.4   Multiprogramming
     2.5   Summary
     2.6   Exercises and Questions
3.   System Performance and Models
     3.1   Introduction
     3.2   Simple Models of Computer Systems
     3.3   Performance of Computer Systems
     3.4   Simulation Models
     3.5   A Model of the Simple Batch System
     3.6   System Capacity and Bottleneck
     3.7   Summary
     3.8   Exercises and Questions
4.   Systems with Multiprogramming
     4.1   Introduction
     4.2   Systems with Multiple Stations
     4.3   Studying Systems with Multiprogramming
     4.4   Summary
     4.5   Exercises and Questions
5.   CPU Scheduling
     5.1   Introduction
     5.2   General Types of Scheduling
     5.3   CPU Scheduling Concepts
     5.4   CPU Scheduling Policies
     5.5   Multilevel Queues and Multiple Processors
     5.6   Summary
     5.7   Exercises and Questions
6.   Synchronization Principles
     6.1   Introduction
     6.2   Basic Synchronization Principles
     6.3   Approaches for Implementing Synchronization
     6.4   Semaphores
     6.5   Synchronization with Semaphores
     6.6   Synchronization Case Studies
     6.7   Monitors
     6.8   Interprocess Communications (IPC)
     6.9   Atomic Transactions
     6.10  Summary
     6.11  Exercise and Questions
7.   Deadlocks
     7.1  Introduction
     7.2   Basic Principles of Deadlock
     7.3   The Five Dining Philosophers
     7.4   Methods for Handling Deadlock
     7.5   Deadlock Prevention
     7.6   Deadlock Avoidance
     7.7   Deadlock Detection and Recovery
     7.8   Summary
     7.9   Exercises and Questions
8.   File Management
     8.1   Introduction
     8.2   Files
     8.3   Access Methods
     8.4   Directory Functions
     8.5   File Space Allocation
     8.6   Real World Systems
     8.7   Virtual File System
     8.8   Removable Media
     8.9   The Future is Now
     8.10  Summary
     8.11  Exercises and Questions
9.   The I/O System
     9.1   Introduction
     9.2   I/O Hardware
     9.3   Device I/O
     9.4   I/O Performance Optimization
     9.5   Disk I/O Scheduling
     9.6   System Configuration
     9.7   Disk Scheduling Simulation Model
     9.8   Summary
     9.9   Exercises and Questions
10.  Memory Management
     10.1  Introduction
     10.2  Process Address Space
    10.3  Contiguous Memory Allocation
    10.4  Non-contiguous Memory Allocation
    10.5  Virtual Memory
    10.6  Paging with Virtual Memory
    10.7  Paging Algorithms
    10.8  Thrashing
    10.9  Summary
    10.10 Exercises and Questions
11.   Security and Protection
     11.1  Introduction
     11.2   Problems of Security
     11.3  Security and Protection Components
     11.4  System Vulnerabilities
     11.5  Invasive and Malicious Software
     11.6  Defending the System and the User
     11.7  Intrusion Detection Management
     11.8  Security and Privacy
     11.9  Secure Systems vs. Systems Security
     11.10 Summary
     11.11  Exercises and Questions
12.   Firewalls and Network Security
     12.1  Introduction
     12.2  Motivation
     12.3  The TCP/IP Communication Protocol
     12.4  The Medium of Internet Communication
     12.5  Packets, the OSI protocol stack, Firewalls
     12.6  Attack and Defense Scenarios
     12.7  The Modeling
     12.8   Inter-process Socket Communication
     12.9   Distributed File System WallsOfFire Software
     12.10 External Attack and Defense Scenarios
     12.11 Summary
     12.12  Exercises and Questions

Appendix A:  Introduction to Using Linux
Appendix B:  Java and Posix Threads
Appendix C:  The Java Modeling Framework
Appendix D:  Psim3
Appendix E:  Overview of Probability Theory
Appendix F:  Using the C++ Models
   


Back to top

ShowAbout the Author(s)

Jose Garrido-Kennesaw State University

Jose Garrido is an Associate Professor of Computer Science at Kennesaw State University in Georgia. He holds a Ph.D. in Information Technology from George Mason University, and has written numerous books and papers on using object-oriented programming in discrete-event simulation.   

Additional Titles by this Author

Richard Schlesinger-Kennesaw State University

Richard Schlesinger teaches computer science at Kennesaw State University.  His primary emphasis is on exploring new pedagogical methods in college level courses, as well as introducing computer programming to high school students.  Prior to teaching at KSU, he received a Master's degree in Computer Science from Illinois Institute of Technology and then spent 30 years in industry.  During that time, he worked on the internals of six different operating systems, as well as the design of several computers.  He also developed various communication subsystems, several transaction processors, and cryptographic systems.  He was one of the principal designers of the first working data flow computer.

Additional Titles by this Author

Back to top

ShowAppropriate Courses

Ideal for courses in Operating Systems at the upper level undergraduate level/graduate level offered within the department of Computer Science. 

Back to top

ShowSamples & Additional Resources

ShowResources

Back to top