OPERATING SYSTEM CONCEPTS
Operating System Concepts 1.1 Silberschatz, Galvin and Gagne 2002
Marks Distribution
Grading % of Total Marks
Assignments 15
Project 10
Mid-Term Exam 25
Final Exam 35
Quiz 10
Class Participation 05
Total 100%
Operating System Concepts 1.2 Silberschatz, Galvin and Gagne 2002
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.
Operating System Concepts 1.3 Silberschatz, Galvin and Gagne 2002
Computer System Components
1. Hardware – provides basic computing
resources (CPU, memory, I/O devices).
2. Operating system – controls and coordinates
the use of the hardware among the various
application programs for the various users.
3. Applications programs – define the ways in
which the system resources are used to solve
the computing problems of the users
(compilers, database systems, video games,
business programs).
4. Users (people, machines, other computers).
Operating System Concepts 1.4 Silberschatz, Galvin and Gagne 2002
Abstract View of System Components
Operating System Concepts 1.5 Silberschatz, Galvin and Gagne 2002
Operating System Definitions
Resource allocator – manages and allocates
resources.
Control program – controls the execution of
user programs and operations of I/O devices .
Kernel – the one program running at all times
(all else being application programs).
Operating System Concepts 1.6 Silberschatz, Galvin and Gagne 2002
Mainframe Systems
Reduce setup time by batching similar jobs
Automatic job sequencing – automatically
transfers control from one job to another.
First basic operating system.
Resident monitor
initial control in monitor
control transfers to job
when job completes control transfers pack to
monitor
Operating System Concepts 1.7 Silberschatz, Galvin and Gagne 2002
Memory Layout for a Simple Batch System
Operating System Concepts 1.8 Silberschatz, Galvin and Gagne 2002
Multiprogrammed Batch Systems
Several jobs are kept in main memory at the same time,
and the
CPU is multiplexed among them.
Operating System Concepts 1.9 Silberschatz, Galvin and Gagne 2002
OS Features Needed for
Multiprogramming
I/O routine supplied by the system.
Memory management – the system must
allocate the memory to several jobs.
CPU scheduling – the system must choose
among several jobs ready to run.
Allocation of devices.
Operating System Concepts 1.10 Silberschatz, Galvin and Gagne 2002
Time-Sharing Systems–Interactive
Computing
The CPU is multiplexed among several jobs that
are kept in memory and on disk (the CPU is
allocated to a job only if the job is in memory).
A job swapped in and out of memory to the
disk.
On-line communication between the user and
the system is provided; when the operating
system finishes the execution of one command,
it seeks the next “control statement” from the
user’s keyboard.
On-line system must be available for users to
access data and code.
Operating System Concepts 1.11 Silberschatz, Galvin and Gagne 2002
Desktop Systems
Personal computers – computer system dedicated to a
single user.
I/O devices – keyboards, mouse, display screens, small
printers.
User convenience and responsiveness.
Can adopt technology developed for larger operating
systems.
Often individuals have sole use of computer and do not
need advanced CPU utilization of protection features.
But now a days networking and common file sharing
has made it compulsory to include file protection in
operating system.
May run several different types of operating systems
(Windows, MacOS, UNIX, Linux)
Operating System Concepts 1.12 Silberschatz, Galvin and Gagne 2002
Parallel Systems
Multiprocessor systems with more than one
CPU in close communication.
Tightly coupled system – processors share
memory and a clock; communication usually
takes place through the shared memory.
Advantages of parallel system:
Increased throughput
Economical
Increased reliability
graceful degradation
Fault tolerant systems (Failures must be
detected, diagnosed and if possible, corrected)
Operating System Concepts 1.13 Silberschatz, Galvin and Gagne 2002
Parallel Systems (Cont.)
Symmetric multiprocessing (SMP)
Each processor runs and identical copy of the
operating system but mostly share a single
memory.
Many processes can run at once without
performance deterioration.
Most modern operating systems support SMP
Asymmetric multiprocessing
Each processor is assigned a specific task;
master processor schedules and allocates work
to slave processors.
More common in extremely large systems
Operating System Concepts 1.14 Silberschatz, Galvin and Gagne 2002
Symmetric Multiprocessing Architecture
Operating System Concepts 1.15 Silberschatz, Galvin and Gagne 2002
Distributed Systems
Distribute the computation among several
physical processors.
Loosely coupled system – each processor has
its own local memory; processors
communicate with one another through
various communications lines, such as high-
speed buses or telephone lines.
Advantages of distributed systems.
Resources Sharing
Computation speed up – load sharing
Reliability
Communications
Operating System Concepts 1.16 Silberschatz, Galvin and Gagne 2002
Distributed Systems (cont)
Requires networking infrastructure.
Local area networks (LAN) or Wide area
networks (WAN)
May be either client-server or peer-to-peer
systems.
Operating systems must support underlying
network protocols to be followed and also
multiple network architectures.
Operating System Concepts 1.17 Silberschatz, Galvin and Gagne 2002
General Structure of Client-Server
Operating System Concepts 1.18 Silberschatz, Galvin and Gagne 2002
Clustered Systems
Clustering allows two or more individual systems (with their
own processors) to share storage. They are normally closely
liked via LAN networking.
Provides high Availability.
Each node can monitor one or more nodes, and can takeover
the storage of any other node in case of any failure.
Asymmetric clustering: one server runs the application while
other servers standby (to provide availability in case of first
server’s failure.)
Symmetric clustering: all N hosts are running the application.
Provide more efficiency by using all of the available hardware.
Operating System Concepts 1.19 Silberschatz, Galvin and Gagne 2002
Real-Time Systems
A special purpose operating system.
Often used as a control device in a dedicated
application such as controlling scientific
experiments, medical imaging systems, industrial
control systems etc.
Well-defined fixed-time constraints.
Sensors bring data to processor.
Real-Time systems may be either hard or soft
real-time. OS Delays must be strictly bounded or
some tasks can be given more priority over
others.
Operating System Concepts 1.20 Silberschatz, Galvin and Gagne 2002
Real-Time Systems (Cont.)
Hard real-time:
Secondary storage limited or absent, data stored
in short term memory, or read-only memory
(ROM)
Conflicts with time-sharing systems, not
supported by general-purpose operating systems.
Soft real-time
Limited utility in industrial control of robotics
Useful in applications (multimedia, virtual
reality) requiring advanced operating-system
features.
Operating System Concepts 1.21 Silberschatz, Galvin and Gagne 2002
Handheld Systems
Personal Digital Assistants (PDAs)
Cellular telephones
Issues:
Limited memory
Slow processors
Small display screens.
Operating System Concepts 1.22 Silberschatz, Galvin and Gagne 2002
Migration of Operating-System Concepts and
Features
Operating System Concepts 1.23 Silberschatz, Galvin and Gagne 2002
Computing Environments
Traditional computing
Web-Based Computing
Embedded Computing
Operating System Concepts 1.24 Silberschatz, Galvin and Gagne 2002