|
|||||
Introduction
to Computing CS101
VU
LESSON
11
OPERATING
SYSTEMS
Focus
of the last lecture: Computer
SW
We
found out about the role SW
plays in a computing
environment
We learned to
distinguish between SW belonging to the
system & application
categories
Also
discussed the different types of SW
licenses:
Proprietary
Free
Open
source
Shareware
Trialware
Learning
Goals for Today
The
role of the operating system in a
computing environment
The
various functions that an
operating system performs
The
main components of an operating
system
Various
types of operating systems
11.1
Why Have OSes?
User/programmer
convenience
Greater
resource utilization
The
Role of An OS
The
1st program that runs
when a typical computer is turned
ON, and the last one to finish
running
when
the computer is turned OFF.
It
manages the HW and SW
resources of the computer system, often
invisibly. These include
the
processor,
memory, disk drives,
etc.
It
provides a simple, consistent
way for applications to
interact with the HW without
having to know all
the
details of the HW
Advantage
for App.
Developers
Application
developers do not need to know
much about the HW while they
are developing their
app
They
just develop with a
particular OS in mind. If the OS runs on
many types of computers
having
different
HW configurations, so will the app
without making any
HW-specific modifications in the
app SW.
The OS hides the HW differences from the
app
Are
OS'es Essential?
No.
If a computer has been designed for
limited functionality (e.g. it runs
just a single program all
the
time
as in a automatic clothes washing machine), it
does not require a
traditional OS
In
limited-functionality computers, an OS
just adds to the overhead unnecessarily,
which impedes the
computer's
performance. In these situations, the
required parts of the OS are
integrated into the the
only
program
that is going to run.
In
the beginning ...
A
single user ran a single
program ran on a single computer there
was no need for an OS
Then
came computer operators who ran multiple
programs for multiple users
one after the other
still,
no
need for an OS
57
Introduction
to Computing CS101
VU
Later
computers became powerful, &
became able to run multiple
programs, simultaneously. That's
when
the need for OS'es arose
for:
Managing
the resources of the computers
efficiently
Making
use of computers convenient
for users/programmers
11.2
Core Tasks of an OS
Processor
management
Memory
management
Device
management
Storage
management
Application
Interface
User
Interface
Processor
Management
Memory
Management
Straight
forward for a single-user, single
tasking
Each
app must have enough private
memory in which to
execute
App
can neither run into the
private memory space of another app,
nor be run into by another
app
Different
types of memory (e.g. main, cache) in the
system must be used
properly, so that each app
can
run
most effectively
Storage
Management
The
OS manages storage through one of
its sub-modules, the File
Manager
A
file system is a collection of
directories, subdirectories, and files
organized in a logical
order.
File
manager maintains an index of the
filenames & where they are located on
the disk.
File
manager make it easy to find the
required file in a logical and
timely fashion.
Device
Management
Applications
talk to devices through the OS and OS
talks to and manages devices
through Device
Drivers
Example:
When we print to a laser
printer, we do not need to
know its details. All we do is to
tell the
printer
device driver about what
needs to be printed and it
takes care of the
details
Application
Interface
App
developers do not need to know
much about the HW,
especially the uP, while
they are developing
their
app
The
OS provides all apps with a
straight-forward and consistent interface
to the HW
Example:
An app uses the OS to store data on the
disk drive. For that, the
app does not need to
know
about
the exact physical characteristics of
that drive; it just tells
the OS to do that through the
app
interface,
and the OS takes cares of
all the details of the
task
User
Interface
Users
communicate with the computer using a
consistent user interface
provided by the OS
This
UI can be a command-line interface in
which a user types in the commands.
Example:
58
Introduction
to Computing CS101
VU
copy
a:/file1.html c:/file1.html
Or,
it can be a graphical UI, where Windows,
Icons, Menus, and a Pointing
device (such as a mouse)
is
used
to receive and display information.
Example:
With
the help of the mouse,
drag file1.html from drive a to drive
c
11.3
OS Components
Error!
Device
Manager
File
Manager
Kernel
Loader
Command
Interpreter
(Shell)
GUI
11.4
Kernel
The
heart of the OS
Responsible
for all the essential operations
like basic house keeping,
task scheduling, etc. Also
contains
low-level
HW interfaces
Size
important, as it is
memory-resident
11.5Types of
OS'es
Classification
w.r.t. the type of computers
they run on and the type of
applications they support
Real-Time
Operating System
(RTOS)
Single-User,
Single Task
Single-User,
Multi-Tasking
Multi-User
RTOS
(1)
Used to
run computers embedded in
machinery, robots, scientific instruments
and industrial
systems
Typically,
it has little user
interaction capability, and no end-user
utilities, since the system
will be a
"sealed
box" when delivered for
use
Examples:
Wind River, QNX, Real-time
Linux, Real-time Windows
NT
RTOS
(2)
An
important part of an RTOS is managing the
resources of the computer so that a
particular operation
executes
in precisely the same amount of time
every time it occurs
In a
complex machine, having a part
move more quickly just
because system resources are
available
may
be just as catastrophic as having it not
move at all because the
system was busy
Single-User,
Single Task
OS'es
designed to manage the computer so that one
user can effectively do one
thing at a time
The
Palm OS used in many palmtop
computers (PDA's) is an example of a
single-user, single-task OS
59
Introduction
to Computing CS101
VU
Single-User,
Multi-Tasking
Most
popular OS
Used by
most all PC's and
Laptops
Examples:
Windows, Mac OS,
Linux
Lets
a single user interact with
several programs, simultaneously
Multi-User
A
multi-user OS allows many
users to take advantage of the computer's
resources, simultaneously
The
OS must make sure that the
requirements of the various users are
balanced, and that the
programs
they
are using each have
sufficient and separate resources so
that a problem with one
user doesn't affect
any
of the other users
Examples:
Linux, Unix, VMS and mainframe OS'es,
such as MVS
11.6
Another Way of Classifying
Uni-processor
OS'es
Designed to
schedule tasks on a single uP
only
Example:
DOS
Multi-processor
OS'es
Can
control computers having
multiple uPs, at times 1000's of
them
Example:
Current versions of Windows,
Mac
OS,
Linux, Solaris
11.7
How many different OS'es are
there?
100's
OS'es
from the Windows family
dominate the desktops and run on
millions of PC's
OS'es
from the Unix family (Unix,
Linux, etc) are quite
popular on servers
There
are hundreds more. Some designed for
mainframes only. Some for
embedded applications
only.
11.8
Comparing Popular
OS'es
OS
HW
Stability
Cost
Apps.
Support
Security
Popularity
Huge
Windows
PC
Poor
$300
OK
Poor
Amazing
no.
(GUI)
Mac
OS
Mac
Good
$60
Many
OK
Good
Low
(Shell/GUI)
Linux
Many
Good
Low
Many
Variable
Good
Low
(Shell/GUI)
Unix
Many
Excellent High Many
Expensive Excellent
Servers
(Shell/GUI)
What
have we learnt
today?
The
role of the OS in a computing
environment
The
various functions that an OS
performs
The
main components of an OS
Various
types of OS'es
60
Introduction
to Computing CS101
VU
Next
Lecture: Application SW
We'll
learn about application SW,
i.e. programs that interact
directly with the user for
the performance
of a
certain type of work
We'll
try to become familiar with
various SW used in the following
application areas:
Scientific/engineering/graphics
Business
Productivity
Entertainment
Educational
61
Table of Contents:
|
|||||