You are on page 1of 33

Operating Systems

Part : ntroduction

" think that there is a world


market for five computers
- Thomas J. Watson (1945)

y Study Operating Systems?


e want to have an efficient O/S because it
consumes more resources than any other program.
is the most complex program.
is necessary for any use of the computer.
is used by many users.
Efficiency is measured through
Functionality
Performance: Time and Utilization
Convenience and Cost

4aIs 41 Tis C4urse


Understand what an operating system is
Understand the key components of an
operating system
Have a deeper understanding of common
operating systems in the market (e.g.
indows, Unix, MS-DOS) and the issues
associated with them
To be able to use performance measures

at is an O/S?
A layer oI
abstraction between
the HW and SW
A resource
coordinator
Virtual machine
Reactive system

Operating Systems: A De1initi4n


collection of programs that integrate the
hardware resources of the computer and make
those resources available to the user in a
productive, timely, and efficient manner

Operating Systems Ease te Pain


Performs the interface task with the hardware (file
operations, memory paging, etc.) which should have
been done by the user if the OS did not exist
High-level interface (GU, command line a.k.a. CU)
The O/S's capability for multiuser and multitasking
utilize the hardware efficiently
Makes visible the "virtual component of the system
llows program interaction

y are Operating Systems


Di11icuIt t4 Create and Maintain?
Size
Too big for one person; current systems have
millions of lines of code and involve 10-100 man
years to build
Lifetime
Operating systems remain longer than the
programmers who originally wrote them. Code is
written and rewritten and original intent is forgotten
(Unix designed to be cute, small system - now
several volumes thick!)

y are Operating Systems


Di11icuIt t4 Create and Maintain?
Complexity
The system must do difficult things -- deal with ugly
/O devices, multiplexing/juggling act, handle errors
Multitasking
Must do several things at once.
General purpose

A Brie1 Hist4ry: EarIy s,


Main1rames RuIe!
Early systems
No O/S! Programmer is also operator
Large machines run from a console; programs loaded through
switches and card readers
Simple batch systems were the first real OS
Setup time was a problem -> hire an operator
Operator ran related jobs together
O/S was a simple program stored in one part of memory
Loads a single job from card reader into memory
Transfers control from one job to the next

O11Iine Pr4cessing
llowed jobs to be read ahead of time onto tape
ard
Reader
!&
ine
printer
ard
Reader
!&
ine
printer
Tape
Drive
Tape
Drive
Tape
Drive
Tape
Drive
n-line processing
11-line processing

Hist4ry: Sp44Iing
llowed jobs to be read ahead onto disk
Spool (Simultaneous Peripheral Operation On-
Line)
ard
Reader
!&
ine
printer
disk

MuItipr4grammed Systems
Multiprogrammed batch systems provided
increased utilization
Keeps several jobs in memory simultaneously
/O processing of one job overlaps with computation
of another
nalogy: Lawyer working on several cases; while
waiting to go to trial on one, can work on another
Needs CPU scheduling

Timesaring/MuItitasking Systems
Timesharing supported
interactive use
Each user feels as if
he/she has the entire
machine
Tries to optimize
response time
Based on time-slicing;
divide CPU equally
among others

Deskt4p Systems
First appeared in the 1970s
More popularly known as personal computers
(PCs)
Breakthroughs in hardware allowed downsizing
from expensive mainframes

MuItipr4cess4r Systems
lso known as parallel systems or tightly-coupled
systems
Three main advantages
ncreased throughput (more CPUs = more work in less time)
Economy of scale (saves money, CPUs share peripherals)
ncreased reliability (provides redundancy and fault tolerance)
Symmetric multiprocessing (SMP): ll CPUs do the
same thing
symmetric multiprocessing: each CPU has specific
role (usually master-slave)

Distributed (L44seIy-C4upIed)
Systems
Facilitates use of geographically distributed computing resources
Supports communications between parts of a job or different jobs
Supports sharing of distributed resources, both hardware and
software
Client-server systems vs. Peer-to-peer systems

CIustered Systems
Makes several CPUs work together to accomplish
computational task
Most likely share storage and linked through a local
area network (LN)
Possible clustering schemes:
Symmetric mode (two or more hosts running applications and
monitoring each other)
symmetric clustering (one is in hot standby mode while
another is running applications; switches to backup if active
fails)

ReaI Time Systems


Used for specialized applications: subway systems,
flight-control, factories, power plants
Basic idea: O/S guarantees response to physical
events will occur within a fixed amount of time
Problem faced : Schedule activities so as to meet all
time constraints
Hard real time system
Deadline is critical
Typically used to control a device
Soft real time system
Deadline is important but not critical
Example : Video applications (Use in PC environment)

HandeId Systems
Used in PDs and cellular phones
Common concerns:
Limited main memory
Processor speed
Small display screens

eneraI Structure 41 an O/S


#esident Programs
Programs which are critical to
the operation of the system
KE#NEL
Non-resident Programs
Loaded into memory only when
needed

An ExampIe: MS-DOS Structure


Memory resident components
Command interface shell (eg. ver, dir, date, time) :
COMMND.COM
Set of /O routines which control each /O devices
(drivers) -- e.g. BOS : O.SYS
File Management System : MSDOS.SYS
Non-resident components
FO#MT.COM, XCOPY.EXE, LBEL.EXE, etc.

H4 MS-DOS Pr4grams are L4aded


in Main Mem4ry
(a)
free memory
command
interpreter
kernel
(b)
free memory
command
interpreter
kernel
process
t System Start-up #unning a Program

Operating System C4mp4nents


Process Management
Process: a program in execution
Keeps track of each process and it's state
Create, delete, suspend, resume processes;
synchronize process communications,
handle deadlocks
Possibly support threads (executable parts
of a process)

Operating System C4mp4nents


Main Memory Management
Keep track of which parts of memory are in
use
llocates and deallocates memory as
needed
Decides which processes must be loaded in
main memory when space becomes
available

Operating System C4mp4nents


File Management
Keeps tracks of available space on the system
Maintains directory structure and hierarchy
Supports file manipulation commands
Keeps track of file information (inode, name,
timestamp)
/O System Management
llows for a standard methodology for access of
each device
Use of device drivers for modularity

Operating System C4mp4nents


Secondary Storage Management
Free space management
Storage allocation
Disk scheduling
Networking
Transfer protocols
#outing and connection strategies

Operating System C4mp4nents


Protection System
Provide mechanism for controlling access to
programs, processes, or users
Essential in multitasking and multiuser systems
Command nterpreter System
GU vs. Command Line nterface
#edirection, Piping, and Parameter Passing

Operating Systems Arcitectures


Monolithic
Layered
Virtual Machine
Microkernel

M4n4Iitic
Easy to implement
"The Big Mess
virtually no structure!
Kernel is one large
structure
Each procedure is visible
to every other procedure
Not used anymore

Layered
Not easy to implement
because some
functionalities are
mutually dependent.
nefficient because it
requires a high number
of traversals of
interfaces

'irtuaI Macine
Each user has a
"virtual machine and
he can choose which
OS to run on that
machine
Elegant, but does not
deal with questions of
resource management
and responsiveness
Nor-v|rlua| Vacr|re v|rlua| Vacr|re
(a)
processes
hardware
kernel
(b)
processes
hardware
virtual machine
programming
interface
processes
processes
kernel kernel kernel

Micr4kerneI
Used in Mac/OSF/NT
Takes out as much
functionality as possible
from kernel -- allows
modularity and portability
across platforms
nteractions between
processes involve the
kernel, thereby requiring
high efficiency in transfer

You might also like