Class 1 Operating Systems Principles S. Venkatesan Spring 2003

advertisement
Operating Systems Principles
Class 1
S. Venkatesan
Department of Computer Science
Spring 2003
Views of Operating Systems



Resource manager
Control program that controls all the
devices
Interface between the machine and the
user
S. Venkatesan
Department of Computer Science
Spring 2003
Overview of a Computer System



OS uses/manages HW resources to
provide service to users
Main components are: (a) Processor,
(b) Main memory, © I/O devices
Processor has program counter (PC),
instruction register (IR), MAR, MDR,
etc.
S. Venkatesan
Department of Computer Science
Spring 2003
Instruction execution

Fetch next instruction from memory
Decode instruction
Fetch operand from memory if needed
Execute instruction
Store result in memory if needed

Repeat this..




S. Venkatesan
Department of Computer Science
Spring 2003
Interrupts

A mechanism by which the normal flow
of program execution is changed
Identify type of interrupt
Service interrupt

Resume original execution

Can disable interrupts (when? Why?)


S. Venkatesan
Department of Computer Science
Spring 2003
I/O devices


Store/generate data
Transfer data
– Programmed I/O [CPU constantly checks
status]
– Interrupt driven: CPU waits for an interrupt
– DMA (Direct Memory Access): Transfer
large volume of data
S. Venkatesan
Department of Computer Science
Spring 2003
Evolution of Operating Systems


Today’s OS evolved over time
Many techniques used in old OS are
very useful
S. Venkatesan
Department of Computer Science
Spring 2003
I. Early Systems (I generation)


No OS
Users operate like an open shop
– sign up for slots (like renting)
User has complete control of the machine
Utilization is very low; set up time is high
S. Venkatesan
Department of Computer Science
Spring 2003
II. Early batch systems




Motivation: Increase CPU utilization
Use a slow computer to aggregate
programs and feed into fast computer.
Same on the output side
Issues;
– Job Control Cards
– Protection of OS and Users
S. Venkatesan
Department of Computer Science
Spring 2003
III Sophisticated batch systems




Refine early batch systems
1. Buffering and double buffering
SPOOLing
Multipogramming
S. Venkatesan
Department of Computer Science
Spring 2003
IV. Time-sharing systems



Combination of early systems (I
generation) and multiprogramming
Time-sharing=interactive
programming+multiprogramming
Suitable for small jobs
S. Venkatesan
Department of Computer Science
Spring 2003
V. Multiprocessor Systems

Multiple CPUs; two kinds
– All CPUs attached to common main
memory (parallel processing) NCUBE,
Hybercube
– Separate memory and large distances
between CPUs-- distributed processing;
WWW
S. Venkatesan
Department of Computer Science
Spring 2003
Real-time systems


Programs with tight deadline
constraints; not much of slack time ..
Examples
– Flight control
– Process control in factories/nuclear
reactors
– Military situations
S. Venkatesan
Department of Computer Science
Spring 2003
Two approaches to implement OS


Monolithic
– OS is one big program
– When executing, disable all interrupts
– After execution, enable interrupts
Kernal or Nucleus
– A small portion of code executed in an
interrupt-disabled mode; others?can be
interrupted
S. Venkatesan
Department of Computer Science
Spring 2003
Characteristics of modern OS

Microkernal architecture
– Few function to kernal (address space,
IPC, scheduling, etc.)
– Other services are provided by user
processes in user mode
– Customize servers, simplifies
implementation, flexibility
S. Venkatesan
Department of Computer Science
Spring 2003
Characteristics of modern OS; Continued


Multithreading
– light duty processes
– DB server
– web server
Symmetric multiprocessing
– >1 identical CPUs
– Same memory, I/O, etc.
– Incremental growth
S. Venkatesan
Department of Computer Science
Spring 2003
Download