operating systems { week 04b}

Post on 13-Feb-2016

59 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D. Operating Systems { week 04b}. Systems and models. A system is a part of the real world that we wish to analyze Made up of autonomous entities interacting with one another - PowerPoint PPT Presentation

TRANSCRIPT

Operating Systems{week 04b}

Rensselaer Polytechnic InstituteCSCI-4210 – Operating SystemsDavid Goldschmidt, Ph.D.

Systems and models

A system is a part of the real worldthat we wish to analyze Made up of autonomous entities

interacting with one another

A model is an abstractrepresentation of a system We use models in analysis and design Only relevant properties are included

Using models for analysis (i) Simulate a system’s behavior using a

model Models have tunable input parameters Observe the simulation; analyze output

Predict behavior of the real systemby analyzing behavior of the model Behavior of the model depends on

time, input parameters, and eventsgenerated within the environment

Using models for analysis (ii) We can model numerous systems

usingthe following components: User: a single user of the system

Service: a node providing a service

Queue: an array of users waiting for service

Modeling uncertainty

Mathematical models can be categorized as: Deterministic:▪ Behavior is predictable with 100% certainty

Stochastic:▪ Behavior is uncertain, based on random

events

Stochastic models

A stochastic model is one thatincorporates uncertainty intoits behavior One or more attributes change their

values according to a probability distribution

Probability distributions (i) A probability distribution specifies the

probability of each value of somerandom variable Uniform distribution: All values are

equally probable

Probability distributions (ii) A probability distribution specifies the

probability of each value of somerandom variable Normal distribution: Values are more

probable at ornear the mean

This will forma bell curve

Probability distributions (iii) A probability distribution specifies the

probability of each valueof some random variable Exponential distribution: Values are times between

events in a Poisson processin which events occur bothcontinuously and independently,but at a constant average rate

Analyzing operating systems (i) To study the performance of an

operating system, we can: Take measurements on

the real system▪ e.g. Unix time command

Run a simulation model Apply an analytical model▪ e.g. Queuing theory, exponential

distributions, etc.

Analyzing operating systems (ii) External performance goals:

Minimize user response time Maximize throughput▪ Number of jobs completed per unit time

Minimize turnaround time▪ Average time to complete jobs

Maximize fairness Maximize degree of multiprogramming▪ Number of processes supported without

degradation

Analyzing operating systems (iii) Internal performance goals:

Maximize CPU utilization Maximize disk utilization Minimize disk access time Enforce priorities Minimize overhead▪ e.g. time for scheduling algorithm, context

switching Avoid starvation of long-running jobs Enforce real-time deadlines (sometimes)

Analyzing operating systems (iv) Some key performance measures:

Average number of jobs in the system Average number of jobs waiting in a

queue Average time a job spends in the system Average time a job spends in the queues CPU utilization Total number of jobs serviced (i.e.

throughput)

Process scheduling and queues Processes are created by

the operating system Processes initially added to

a job queue, which containsall processes waiting to enter the system

From the job queue, processes thatare ready for execution are addedto the ready queue

Schedulers

A long-term scheduler (i.e. job scheduler) selects processes from the job queue, adding those processes to the ready queue

A short-term scheduler (i.e. CPU scheduler) selects processes from the ready queueand allocates time with the CPU

Long-term scheduling (i)

The long-term scheduler isinvoked infrequently

Long-term scheduling (ii) The degree of multiprogramming of

an operating system is defined asthe number of processes in memory In a stable operating system,

the average process arrival rate equalsthe average process departure rate

Short-term (CPU) scheduling (i) The short-term scheduler decides which

process the CPU executes next The dispatcher gives control of the CPU

to the process selected by the CPU scheduler: Performs context switch Switches to user mode Jumps to the proper location in the user

program to resume program execution

Short-term (CPU) scheduling (ii)

the dispatcher operates here

CPU-I/O burst cycle (i)

Processes alternate betweenCPU execution and I/O wait A CPU burst is actual program

execution that uses the CPU An I/O burst is a blocked state Each process starts and ends

with a CPU burst

CPU-I/O burst cycle (ii)

Histogram of CPU burst time frequencies

CPU scheduling algorithms (i) CPU scheduling requires an algorithm to

determine which process to dispatch next

Scheduling algorithms include: First-Come, First-Served (FCFS) Shortest-Job-First (SJF) Round-Robin (RR) Priority Multilevel Queue (MQ)

CPU scheduling algorithms (ii) Preemptive scheduling preempts a

running process before itstime slice expires Or it preempts a process

because its time slice has expired

Non-preemptive scheduling gives a process exclusive uninterrupted access to the CPU for the entirety of its execution

process

process process process

CPU scheduling algorithms (iii) Compare scheduling algorithms by

measuring CPU utilization – keep CPU as busy as possible Throughput – maximize the number of

processes that complete their execution per unit time

Turnaround time – minimize the elapsed time to fully execute a particular process

Waiting time – minimize the elapsed time a process waits in the ready queue

top related