Operating Systems
CC-311 / CC-217
Department of Information Technology, Faculty of Computing and IT, University of the Punjab, Gujranwala Campus
Agenda for Today
• What is an operating system?
• Single-user systems
• Batch systems
• Multiprogrammed systems
• Time-Sharing systems
• Real-Time systems
• Distributed systems
• Clustered systems
• Embedded Systems
What is an Operating System?
A program that acts as an
intermediary between a user of a
computer and the computer
hardware.
Operating system goals:
Execute user programs and make
solving user problems easier
Make the computer system
convenient to use
Use the computer hardware in an
efficient manner
2.3
Single User Systems
Personal computers – computer system dedicated to a
single user
Interactive
User convenience and responsiveness. .
Single User Systems
Individuals usually have sole use of computer and do not
need advanced protection features.
May run several different types of operating systems e.g.
Windows
Mac OS
UNIX
Linux
Batch Systems
Does not interact with computers directly
Operator takes all the jobs and group similar jobs into batch
Operator takes job as input, process it on CPU and gives the
result to the user
Automatic job sequencing – automatically transfers control
from one job to another.
Various mediums are used e.g.
Punch cards
Paper tapes
Multiprogrammed Systems
Several jobs are kept in main memory at the same time, and
the CPU is multiplexed among them.
Example: Two processes P1 and P2 with CPU and
I/O bursts of one time unit each
CPU I/O
Burst Burst
P1
P2
P1
…
P2
Time-Sharing Systems
An interactive system with multiprogramming
A job is swapped in and out of memory to the disk if needed.
On-line file system must be available for users to access
data and code.
Real-Time Systems
Well-defined fixed-time constraints.
Often used as a control device in a dedicated application
such as controlling scientific experiments, medical imaging
systems, industrial control systems, and some display
systems.
Real-Time systems may be either hard or soft real-time.
Real-Time Systems
Hard real-time systems:
Secondary storage limited or absent, data stored in short term
memory, or read-only memory (ROM)
No virtual memory—time cannot be “wasted” on translation of
logical to physical addresses
OS code structured for efficiency
Plane landing systems, process control in nuclear power
plants, respirators, etc.
Real-Time Systems
Soft real-time systems:
Output should be produced within the given time constraints
but if it is not, the result is not life threatening
Useful in applications (multimedia, virtual reality) requiring
advanced operating-system features.
Distributed Systems
Runs on multiple computers connected over a network,
allowing them to work together.
It coordinates and manages these computers to efficiently
share resources like processing power, storage, and
communication, creating a seamless and integrated
computing environment.
Clustered Systems
Distributed OS and Clustered OS are both designed to
improve system performance, availability, and resource
utilization.
Clustered operating systems are designed for high
availability and load balancing within a local cluster of
computers. They aim to provide redundancy and failover
capabilities for critical applications, typically within a single
data center or location.
The scope of a distributed OS extends across a wide area
network (WAN) or even the internet, connecting nodes that
can be located far apart geographically. While, clustered OS
operates within a localized cluster of computers, often
located in close physical proximity within a data center.
Embedded Systems
An embedded operating system is a specialized type of
operating system designed to run on embedded systems.
These systems are small, dedicated computer systems built
into various devices and products to control specific
functions or perform dedicated tasks.
These systems can be found in a wide range of applications,
from consumer electronics and automotive systems to
industrial machines and medical devices.