Вы находитесь на странице: 1из 35

Chapter 3

Overview of Operating Systems


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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.22
Introduction (continued)
• Multiprogramming Systems
• Time-Sharing Systems
• Real-Time Operating Systems
• Distributed Operating Systems
• Modern Operating Systems

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.33
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.44
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.55
Computing Environments and Nature
of Computations (continued)

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.66
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.77
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.88
Classes of Operating Systems

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 3.99
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 10
3.10
Efficiency, System Performance, and
User Service (continued)

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 11
3.11
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
Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 12
3.12
Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 13
3.13
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 14
3.14
Multiprogramming Systems
(continued)

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 15
3.15
Multiprogramming Systems
(continued)

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 16
3.16
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 17
3.17
Priority of Programs

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 18
3.18
Priority of Programs (continued)
In multiprogramming environments, an I/O-bound program should
have a higher priority than a CPU-bound program.

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 19
3.19
Performance of
Multiprogramming systems
• How to improve performance?

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 20
3.20
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.

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 21
3.21
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 22
3.22
Time-Sharing Systems (continued)

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 23
3.23
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 24
3.24
Time-Sharing Systems (continued)

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 25
3.25
Swapping of Programs

• Kernel performs swap-out and swap-in operations

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 26
3.26
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 27
3.27
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 28
3.28
Features of a Real-Time Operating
System

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 29
3.29
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
Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 30
3.30
Distributed Operating Systems
(continued)

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 31
3.31
Special Techniques of Distributed
Operating Systems

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 32
3.32
Modern Operating Systems

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 33
3.33
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 34
3.34
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

Operating Systems,
Operating by Dhananjay
Systems, Dhamdhere
by Dhananjay Dhamdhere 35
3.35

Вам также может понравиться