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