Cette publication ne fait pas partie de la bibliothèque YouScribe
Elle est disponible uniquement à l'achat (la librairie de YouScribe)
Achetez pour : 150,65 € Lire un extrait

Téléchargement

Format(s) : PDF

avec DRM

Performance Modeling of Operating Systems Using Object-Oriented Simulations: A Practical Introduction

De
0 page

This text introduces the fundamental concepts and practical simulation techniques for modelling different aspects of operating systems to study their general behaviour and their performance.The approaches applied are object-oriented modelling and the process interaction approach to simulation. Most other books on performance modelling use only analytical approaches, and very few apply these modelling concepts to the study of operating systems. Thus, a key feature of the book is that it concentrates on the study of operating systems using practical simulation techniques. In addition, the book illustrates the dynamic behaviour of operating systems using a rich collection of simulation models. The book does not present the detailed theory of operating systems which appears in standard textbooks on the subject. In this respect, this book is a supplemental book to the standard operating systems textbooks, and it concentrates on the practical aspects of performance modelling with simulation.

Voir plus Voir moins

Vous aimerez aussi

CONTENTS
1
2
Overview of System and Performance Modeling 1.1 Introduction 1.2 Systems, Models, and Modeling 1.2.1 Solutions of Mathematical Models 1.2.2 Stochastic Models 1.3 Dynamic Behavior of Systems 1.3.1 Discrete-Event Simulation Models 1.3.2 Simulation Results 1.4 Modeling Operating Systems 1.5 Computer Systems and Operating Systems 1.6 Performance Measures and Performance Modeling 1.6.1 Performance Metrics 1.6.2 Workload 1.6.3 Additional Performance Concepts 1.7 Summary
Object Oriented Modeling 2.1 Introduction 2.2 Object Modeling 2.3 Objects and Classes 2.4 General Approach to UML Object-Oriented Modeling 2.5 Use Case Diagrams 2.6 Static Modeling 2.6.1 Class Diagrams 2.6.2 Associations ix
1 1 1 3 3 4 5 5 5 6 7 8 8 9 9
11 11 12 13 13 14 15 15 16
x
3
4
Contents
2.7
2.8 2.9 2.10
2.6.3 Multiplicity of the Association 2.6.4 Aggregation 2.6.5 Generalization and Inheritance Dynamic Modeling 2.7.1 Collaboration Diagrams 2.7.2 Sequence Diagrams 2.7.3 State Diagrams Concurrency Summary Questions
Basic Probability Theory and Random Numbers 3.1 Introduction 3.2 Experiments and Outcomes 3.3 Long-term Behavior of Systems 3.4 Overview of Set Theory 3.5 Probabilities 3.6 Random Variable and Distribution Functions 3.7 Expected Values, Variance, and Covariance 3.8 The Geometric Distribution 3.9 The Binomial Distribution 3.10 The Exponential Distribution 3.11 The Poisson Distribution 3.12 The Uniform Distribution 3.13 The Normal Distribution 3.14 Stochastic Processes 3.15 Random Numbers in Simulation Models 3.16 Summary Statistics 3.17 Comparing Sample Data 3.18 Markov Models 3.18.1 State Dependencies 3.18.2 Markov Chains 3.19 Summary 3.20 Questions
Single-Server Models 4.1 Introduction 4.2 Simple Queuing Systems 4.2.1 General Queuing Theory
17 17 18 19 19 19 20 21 22 22
25 25 25 26 26 27 27 28 29 30 31 31 32 32 32 33 34 34 35 35 36 38 38
41 41 42 42
Contents
4.2.2 Basic Relationships and Laws 4.3 Performance and Workload Characterization 4.3.1 Workload Parameters 4.3.2 Performance Measures Depend on Workload 4.4 Review of Simulation with Psim and C++ 4.5 A Simulation Model of the Simple Batch Operating System 4.6 Performance Comparison for Various Workloads 4.7 Summary 4.8 Questions
5 Queuing Networks 5.1 Introduction 5.2 A Batch Operating System with 1/0 5.2.1 A System with no Multiprogramming 5.2.2 A System with Multiprogramming 5.3 General Queuing Networks 5.3.1 Modeling General Queuing Networks 5.3.2 A Simple Queuing Network Model 5.3.3 Detailed Structure of the Model 5.4 Summary 5.5 Questions
6 CPU Scheduling 6.1 Introduction 6.2 Basic Mechanism of the Scheduler 6.3 Multi-Class System 6.4 Scheduling Policies 6 .4.1 First-Come-First-Served 6.4.2 Shortest Job First 6.4.3 Longest Job First 6.4.4 Round Robin Scheduling 6.5 Summary 6.6 Questions
7 Process Synchronization 7.1 Introduction 7.2 Non-interference 7.3 Critical Section Problem 7.4 Semaphores
xi
43 44 44 45 46 48 57 58 58
61 61 61 63 74 76 77 78 79 82 82
85 85 85 86 87 88 99 101 104 108 108
111 111 111 112 113
xii
Contents
7.5 Synchronization Using Semaphores 7.6 Semaphore-Based Synchronization Case Studies 7.6.1 The Bounded-Buffer Problem 7.6.2 The Readers-Writers Problem 7.7 Synchronization Using Monitors 7.8 The Producer-Consumer Problem with a Monitor 7.9 Summary 7.10 Questions
8 Deadlock 8.1 Introduction 8.2 Basic Principles 8.3 Modeling Problems with Deadlock 8.3.1 Deadlock in the Five Philosophers Problem 8.3.2 First Attempt to a Deadlock Solution 8.4 General Methods to Handle Deadlock 8.4.1 Conditions for the Existence of Deadlock 8.4.2 Deadlock Prevention 8.4.2.1 Disallow Hold and Wait 8.4.2.2 Disallow Circular Wait 8.5 Summary 8.6 Questions
9 Inter-process Communication 9.1 Introduction 9.2 Asynchronous Communication 9.3 Model for Asynchronous Communication 9.4 Synchronous Communication 9.5 Model for Synchronous Communication 9.6 Summary 9.7 Questions
10 Virtual Memory 10.1 Introduction 10.2 Mapping of Address Spaces 10.3 Virtual Memory Implementation 10.4 Paged Virtual Memory 10.5 Performance Considerations in Paged Virtual Memory 10.6 Paging Algorithms
114 114 114 123 134 135 145 146
147 147 147 149 149 154 157 157 157 158 164 167 167
169 169 169 171 179 180 188 188
191 191 192 193 194 195 196
10.7 Static Algorithms and the Simulation Model 10.7.1 Optimal Algorithm 10.7.2 Least Recently Used (LRU) 10.7.3 First In First Out (FIFO) 10.8 Simulation Model and Results 10.9 Dynamic Paging Algorithms 10.9.1 The Working Set Window 10.9.2 The Page Fault Frequency 10.10 Thrashing 10.11 Summary 10.12 Questions
11 Device Management 11.1 Introduction 11.2 Disk Devices 11.3 Disk Scheduling 11.3.1 First-Come-First-Served 11.3.2 Shortest-Seek-Time-First 11.3.3 Scan Disk Scheduling 11.3.4 Circular-Scan Disk Scheduling 11.4 Summary 11.5 Questions
12 Additional Models 12.1 Introduction 12.2 Model of a Pipeline System 12.3 Model of a Paging Disk 12.4 Model of a Simple Client-Server System 12.5 Summary 12.6 Questions
Appendix A: Brief Update on Psim And PsimL A.1 Platforms Supported A.2 Psim Library A.2.1 Constructor for Class process A, 2.2 Process Interruptions A.2.3 Priority Queues A.2.4 Process Cooperation A.3 PsimL Language
Contents
xiii
196 197 197 198 199 208 209 215 215 216 216
219 219 220 221 222 229 232 234 237 238
239 239 239 250 252 255 255
257 257 258 258 258 259 259 260
xiv
Contents
A.3.1 Brief Update A.3.2 List of Data Files A.3.3 Declaration of Data Files A.3.4 Declaration of Random Number Generators A. 3.5 Implementation Sect ion A.3.5.1 Removing Objects from Queues A.3.5.2 Random Numbers A.3.5.3 Operations on Files A.4 Psim 2 A.4.1 The Time Dimension A.4.2 Random Numbers A.4.3 Boolean Types A.5 PsimL for Psim 2 A.6 Additional Instructions for Psim and PsimL
Appendix B: Psim/PsimL Files B.1 Files Included in the CD B.2 Use of the Psim Library on Windows 95/98 B.3 Installation of Psim and PsimL on Unix B.4 Use of the Psim Library on Unix B.5 Using the PsimL Language Translator
Appendix C: Bibliography
About the Author
Index
260 260 260 260 261 261 261 262 262 262 262 263 263 263
265 265 266 267 267 268
271
275
277
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin