Computer System

Download Report

Transcript Computer System

Computer System
Banking
system
Airline
reservation
Web
browser
Compilers
Editors
Command
interpreter
Operating system
Machine language
Microprogramming
Physical devices
Application
programs
System
programs
Hardware
What is an Operating System?
 A program that gives the user a virtual
machine to use.
 What does the operating system do:


Resource allocator
Control program - controls the execution of
user programs and operation of I/O devices
Evolution of Operating Systems
 First generation

Nothing
 Second generation


Batch processing
Spooling
 Third generation


Multiprogramming
Time sharing
 Fourth generation

Windows
 Parallel systems
 Distributed systems
 Real time systems
First Generation (1945-1955)
 Machines consisted of vacuum tubes and
plugboards - not very reliable
 Programming was done by changing the
wiring using absolute machine language
 Programmer was the operator
 Toward the end, paper tape and punch cards
were introduced
 There was no operating system
Second Generation - (1955-1965)
 Machine were made using transistors much more reliable
 A lot of time was wasted getting input and
output ready
 In order to get better utilization out of the
expensive machine, a batch operating
system was used
Batch Systems
 Programs were read from punch cards and
placed on a magnetic tape
 The tape was taken to the computer where
the programs were executed and the output
was put on another tape.
 The output tape was taken to a line printer
where the output was printed
Batch Systems (cont.)
 Problems


How does the system know what to do?
How does the system distinguish program from
data?
 Solution

Introduce control cards
Control Cards
 $JOB - information
about the user and the
account
 $FORTRAN - the
function the computer
is to perform
 $LOAD - load the
program just compiled
into memory
 $RUN - execute the
program just compiled
 $DATA - start of data
used by program
 $END - end of job
Batch Systems (cont.)
 System software needed




Control card interpreter
Compilers
Loaders
Device driver for each I/O device
Advantages of Batch Systems
 Main computer not constrained by the speed
of the card reader and printer, but by the
speed of the magnetic tape
 Possibility of using multiple card readers
and/or line printers for one CPU
Third Generation (1965-1980)
 Machines now used integrated circuits much faster and more reliable
 We now have:



Spooling - simultaneous peripheral operation
on-line
Multiprogrammed batch systems
Time shared systems
Spooling






Disks were developed
Card were read and placed on the disk
The jobs were then scheduled from the disk
Output was also placed on the disk
Efficiency of the CPU improved
Spooling provides a job pool, many jobs
waiting to execute
Multiprogramming
 Because there are many jobs waiting to
execute, it is not necessary to wait for a job
to complete
 Several jobs are kept in memory at the same
time
 If a job blocks for I/O, another job can take
over the CPU
Multiprogramming (cont.)
 Thus we have several jobs in execution at
the same time
 This introduces new, necessary software




CPU scheduler
Memory manager
Resource allocator
I/O routines supplied by the system
Time Sharing
 The ability to run multiple programs at the
same time allows the sharing of resources
 We are able to time share the CPU - CPU is
multiplexed among several jobs that are
kept in memory
 A job is swapped in and out of memory to
the disk
Time Sharing (cont.)
 Communication between the user and the
system is provided
 A file system must be available for users to
access data and code
Time Sharing (cont.)
 Now, we must worry about:




Virtual memory - having more logical memory
than physical memory
File system
Management of second storage (disks)
Concurrent execution
• Synchronization
• Communication
• Deadlock
Personal Computers
 Single user machines


Workstations - UNIX based
PCs - Window based
 Convenient and responsive to user
 Machine can be tailored to a specific user
 The OS still needs many of the same
features larger OS’s have
Parallel Systems
 Multiprocessor system with more than one
CPU in close communication
 Usually in a single box
 Tightly coupled system - shared memory
 Advantages



Increased throughput
Economical
Faster execution
Parallel Systems (cont.)
 Symmetric multiprocessing

Each processor runs the same program
 Asymmetric multiprocessing

Each processor is assigned a specific task;
master processor assigns task to the slave
processors
Distributed Systems
 Distribute the computation among several
processors
 Use totally separated machines
 Loosely coupled system - each processor
has its own memory and communication is
done over networks.
Distributed Systems (cont.)
 Advantages



Resource sharing
Computation speedup
Use existing machines
 Disadvantages

Slow communication
Real Time Systems
 System used when there are rigid time
requirements on the flow of data



Sensors bring data to the computer
Computer analyzes the data
Controls are adjusted if necessary
Real Time Systems (cont.)
 Hard real time systems

Guarantee that critical tasks complete on time
 Soft real time systems

Critical tasks get priority over other task and
retains priority until it completes