Book description
This revised and updated Second Edition 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++. This text is appropriate for upper-level undergraduate courses in computer science. 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. It is an ideal choice for those interested in gaining comprehensive, hands-on experience using the modern techniques and methods necessary for working with these complex systems. Every new printed copy is accompanied with a CD-ROM containing simulations (eBook version does not include CD-ROM).
New material added to the Second Edition:
- Chapter 11 (Security) has been revised to include the most up-to-date information
- Chapter 12 (Firewalls and Network Security) has been updated to include material on middleware that allows applications on separate machines to communicate (e.g. RMI, COM+, and Object Broker)
- Includes a new chapter dedicated to Virtual Machines
- Provides introductions to various types of scams
- Updated to include information on Windows 7 and Mac OS X throughout the text
- Contains new material on basic hardware architecture that operating systems depend on
- Includes new material on handling multi-core CPUs
Instructor Resources:
-Answers to the end of chapter questions
-PowerPoint Lecture Outlines
Table of contents
- Cover
- Title
- Copyright
- Contents (1/3)
- Contents (2/3)
- Contents (3/3)
- Preface
- 1 Basic Concepts of Operating Systems
- 2 Processes and Threads
- 3 System Performance and Models
- 4 Systems with Multiprogramming
-
5 Processor Scheduling
- 5.1 Introduction
- 5.2 General Types of Scheduling
- 5.3 Processor Scheduling Concepts
-
5.4 CPU Scheduling Policies
- 5.4.1 First-Come-First-Served (1/2)
- 5.4.1 First-Come-First-Served (2/2)
- 5.4.2 Shortest Process Next (1/2)
- 5.4.2 Shortest Process Next (2/2)
- 5.4.3 Round Robin Scheduling (1/2)
- 5.4.3 Round Robin Scheduling (2/2)
- 5.4.4 Shortest Remaining Time (1/2)
- 5.4.4 Shortest Remaining Time (2/2)
- 5.4.5 Brief Comparison of the Four Scheduling Policies
- 5.4.6 Dynamic Priority Scheduling
- 5.4.7 Other Scheduling Policies
- 5.5 Multiprocessor Systems
- 5.6 Summary
- 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 POSIX Threads
- 6.8 Monitors
- 6.9 Interprocess Communication
- 6.10 Atomic Transactions
- 6.11 Summary
- Exercises and Questions
- 7 Deadlocks
- 8 File Management
- 9 The I/O System
- 10 Memory Management
-
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 Versus Systems Security
- 11.10 Summary
- Exercises and Questions
- 12 Networking and Distributed Systems
- 13 Virtual Machines
-
Appendix A Introduction to Using Linux
- A.1 Introduction
- A.2 Command-Line Interface
- A.3 Files and Directories
- A.4 Basic Commands
- A.5 Shell Variables
- A.6 Text Editing
- A.7 File Access Permissions
- A.8 The cat Command
- A.9 Commands for Process Control
- A.10 Foreground and Background Processes
- A.11 Script Files
- A.12 Searching Data in Files
- A.13 Evaluating Expressions
- A.14 Connecting to a Remote Linux Server
- Appendix B Java and POSIX Threads
-
Appendix C The Java Modeling Framework
- C.1 Introduction
-
C.2 Basic Structure of a Model
- C.2.1 Simulation Model
- C.2.2 Input Parameters
- C.2.3 Class Input
- C.2.4 Class UI
- C.2.5 Processes
- C.2.6 The RequestProcessor
- C.2.7 Request
- C.2.8 Schedular
- C.2.9 The IncomingRequestGenerator Class
- C.2.10 ResourceManager
- C.2.11 The Output Class
- C.2.12 Simulation Display
- C.2.13 The Plotter Class
- C.2.14 The QPlotter Subclass
- C.2.15 Animation
- C.2.16 The QGraphic Abstract Class
- C.2.17 The SchedularGraphic Concrete Subclass
- C.2.18 Random Number Generator Classes
- C.2.19 The Statistic Class
- C.3 Java Coding Recommendations
- C.4 The Simulation Package on CD-ROM
- Appendix D Psim3
- Appendix E Overview of Probability Theory
- Appendix F Using the C++ Models
-
Appendix G The Computer System: An Overview
- G.1 Computer System Components
- G.2 The Central Processing Unit (CPU)
- G.3 Computer Instructions
- G.4 Fetch/Decode/Execute/Interrupt Cycle
- G.5 Simple Computer Instructions
- G.6 Computer Architecture Layers
- G.7 Operating Systems
- G.8 Language Translation
- G.9 CPU Internal Structure
- G.10 CPU Performance Enhancement: Pipeline
- G.11 System Performance Enhancement: Cache
- Bibliography
- Index (1/2)
- Index (2/2)
Product information
- Title: Principles of Modern Operating Systems, 2nd Edition
- Author(s):
- Release date: October 2011
- Publisher(s): Jones & Bartlett Learning
- ISBN: 9781449626358
You might also like
book
Operating System Design, 2nd Edition
Avoiding the typical black box approach found in other operating system textbooks, this bestselling book explains …
book
Operating System Concepts Essentials, Second Edition
By staying current, remaining relevant, and adapting to emerging course needs, Operating System Concepts by Abraham …
book
Modern Computer Architecture and Organization - Second Edition
A no-nonsense, practical guide to current and future processor and computer architectures that enables you to …
book
Code: The Hidden Language of Computer Hardware and Software, 2nd Edition
Computers are everywhere --- most obviously in our laptops and smartphones, but also our cars, televisions, …