35
Chapter 3 Overview of Operating Systems Copyright © 2008

Chapter 3 Overview of Operating Systems Copyright © 2008

Embed Size (px)

Citation preview

Page 1: Chapter 3 Overview of Operating Systems Copyright © 2008

Chapter 3

Overview of Operating Systems

Copyright © 2008

Page 2: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.2Operating Systems, by Dhananjay Dhamdhere 2

Introduction

• Computing Environments and Nature of Computations• Classes of Operating Systems• Efficiency, System Performance, and User Service• Batch Processing Systems

Page 3: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.3Operating Systems, by Dhananjay Dhamdhere 3

Introduction (continued)

• Multiprogramming Systems• Time-Sharing Systems• Real-Time Operating Systems• Distributed Operating Systems• Modern Operating Systems

Page 4: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.4Operating Systems, by Dhananjay Dhamdhere 4

Computing Environments and Nature of Computations

• A computing environment consists of a computer system, its interfaces with other systems, and the services provided by its operating system to its users and their programs

• Evolution:– Noninteractive Computing Environments

– Interactive Computing Environments

– Real-Time, Distributed, and Embedded Environments

– Modern Computing Environments

Page 5: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.5Operating Systems, by Dhananjay Dhamdhere 5

Computing Environments and Nature of Computations (continued)

• Noninteractive Computing Environments– OS focuses on efficient use of resources

– Computations in form of program or job

• Interactive Computing Environments– OS focuses on reducing average amount of time required

to implement an interaction between a user and his computation

– Execution of a program is called a process

Page 6: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.6Operating Systems, by Dhananjay Dhamdhere 6

Computing Environments and Nature of Computations (continued)

Page 7: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.7Operating Systems, by Dhananjay Dhamdhere 7

Computing Environments and Nature of Computations (continued)

• Real-Time, Distributed, and Embedded Environments– A real-time computation has specific time constraints

• OS ensures computations complete within constraints

– Distributed computing environment: enables a computation to use resources located in several computer systems through a network

– Embedded computing environment: computer system is a part of a specific hardware system

• OS has to meet the time constraints arising from the nature of the system being controlled

Page 8: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.8Operating Systems, by Dhananjay Dhamdhere 8

Computing Environments and Nature of Computations (continued)

• Modern Computing Environments– Has features of several of the computing environments

described earlier• OS uses complex strategies to manage user computations

and resources

Page 9: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.9Operating Systems, by Dhananjay Dhamdhere 9

Classes of Operating Systems

Page 10: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.10Operating Systems, by Dhananjay Dhamdhere 10

Efficiency, System Performance, and User Service

• Two of the fundamental goals of an OS:– Efficiency of use

• Of a resource

– User convenience• Measurable aspect: User service

– Turnaround time

– Response time

• To a system administrator, performance of a system in its environment is more important– Typically measured as throughput

Page 11: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.11Operating Systems, by Dhananjay Dhamdhere 11

Efficiency, System Performance, and User Service (continued)

Page 12: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.12Operating Systems, by Dhananjay Dhamdhere 12

Batch Processing Systems

• Batch: sequence of user jobs formed for processing by the OS

• Batching kernel initiates processing of jobs without requiring computer operator’s intervention

• Card readers and printers were a performance bottleneck in the 1960s– Virtual card readers and printers implemented through

magnetic tapes were used to solve this problem• Control statements used to protect against interference

between jobs• Command interpreter read a card when currently

executing program in job wanted the next card

Page 13: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.13Operating Systems, by Dhananjay Dhamdhere 13

Page 14: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.14Operating Systems, by Dhananjay Dhamdhere 14

Multiprogramming Systems

• Provide efficient resource utilization in a noninteractive environment

• Uses DMA mode of I/O– Can perform I/O operations of some program(s) while

using the CPU to execute some other program• Makes efficient use of both the CPU and I/O devices

• Turnaround time of a program is the appropriate measure of user service in these systems

Page 15: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.15Operating Systems, by Dhananjay Dhamdhere 15

Multiprogramming Systems (continued)

Page 16: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.16Operating Systems, by Dhananjay Dhamdhere 16

Multiprogramming Systems (continued)

Page 17: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.17Operating Systems, by Dhananjay Dhamdhere 17

Multiprogramming Systems(continued)

• An appropriate measure of performance of a multiprogramming OS is throughput– Ratio of the number of programs processed and the total

time taken to process them

• OS keeps enough programs in memory at all times, so that CPU and I/O devices are not idle– Degree of multiprogramming: number of programs

– Uses an appropriate program mix of CPU-bound programs and I/O-bound programs

– Assigns appropriate priorities to CPU-bound and I/O-bound programs

Page 18: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.18Operating Systems, by Dhananjay Dhamdhere 18

Priority of Programs

Page 19: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.19Operating Systems, by Dhananjay Dhamdhere 19

Priority of Programs (continued)In multiprogramming environments, an I/O-bound program should have a higher priority than a CPU-bound program.

Page 20: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.20Operating Systems, by Dhananjay Dhamdhere 20

Performance of Multiprogramming systems

• How to improve performance?

Page 21: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.21Operating Systems, by Dhananjay Dhamdhere 21

Performance of Multiprogramming systems (continued)

When an appropriate program mix is maintained, an increase in the degree of multiprogramming would result in an increase in throughput.

Page 22: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.22Operating Systems, by Dhananjay Dhamdhere 22

Time-Sharing Systems

• Provide a quick response to user subrequests– Round-robin scheduling with time-slicing

• Kernel maintains a scheduling queue• If time slice (δ) elapses before process completes servicing

of a subrequest, kernel preempts it, moves it to end of queue, and schedules another process

– Implemented through a timer interrupt

Page 23: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.23Operating Systems, by Dhananjay Dhamdhere 23

Time-Sharing Systems (continued)

Page 24: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.24Operating Systems, by Dhananjay Dhamdhere 24

Time-Sharing Systems (continued)

• Response time (rt): measure of user service– If processing of a subrequest requires δ CPU seconds

rt = n × (δ + σ)η = δ / (δ + σ)

where η: CPU efficiency, σ: scheduling overhead, n: number of users using system, δ: time required to complete a subrequest

• Actual response time would be different because– Some users may be inactive– Some programs may require > δ CPU seconds

Page 25: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.25Operating Systems, by Dhananjay Dhamdhere 25

Time-Sharing Systems (continued)

Page 26: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.26Operating Systems, by Dhananjay Dhamdhere 26

Swapping of Programs

• Kernel performs swap-out and swap-in operations

Page 27: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.27Operating Systems, by Dhananjay Dhamdhere 27

Real-Time Operating Systems

• In real-time applications, users need computer to perform some actions in a timely manner– To control activities in an external system, or to

participate in them

– Timeliness depends on time constraints

• If application takes too long to respond to an activity, a failure can occur in the external system– Response requirement

– Deadline: time by which action should be performed

Page 28: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.28Operating Systems, by Dhananjay Dhamdhere 28

Hard and Soft Real-Time Systems

• A hard real-time system meets response requirements under all conditions– It is typically dedicated to processing real-time

applications

• A soft real-time system makes best effort to meet response requirement of a real-time application– Cannot guarantee that it will be able to meet it

• Meets requirements in a probabilistic manner

– E.g., multimedia applications

Page 29: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.29Operating Systems, by Dhananjay Dhamdhere 29

Features of a Real-Time Operating System

Page 30: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.30Operating Systems, by Dhananjay Dhamdhere 30

Distributed Operating Systems

• A distributed computer system consists of several individual computer systems connected through a network– Each computer system could be a PC, a multiprocessor

system, or a cluster

– Many resources of a kind exist in system• This feature is used to provide the benefits summarized in

Table 3.8

– Handling network or individual computers’ failure requires special techniques

– Users must use special techniques to access resources over the network

Page 31: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.31Operating Systems, by Dhananjay Dhamdhere 31

Distributed Operating Systems (continued)

Page 32: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.32Operating Systems, by Dhananjay Dhamdhere 32

Special Techniques of Distributed Operating Systems

Page 33: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.33Operating Systems, by Dhananjay Dhamdhere 33

Modern Operating Systems

Page 34: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.34Operating Systems, by Dhananjay Dhamdhere 34

Summary

• A computing environment consists of a computer system, its interfaces with other systems, and the services provided by its OS to users and programs– Evolved with advances in computer technology:

• Batch processing systems• Multiprogramming operating system

– Priority-based scheduling

• Time-sharing operating systems– Round-robin scheduling with time-slicing

Page 35: Chapter 3 Overview of Operating Systems Copyright © 2008

Operating Systems, by Dhananjay Dhamdhere Copyright © 2008 3.35Operating Systems, by Dhananjay Dhamdhere 35

Summary (continued)

• Evolution (continued)• Real-time operating systems

– Priority-based scheduling and deadline-aware scheduling

• Distributed operating system– Lets programs share resources across network

• Modern operating system – Modern computing environment has elements of all the

classic computing environments

– Uses different techniques for different applications