Transcript Document
OPERATING SYSTEMS
DESIGN AND IMPLEMENTATION
Third Edition
ANDREW S. TANENBAUM
ALBERT S. WOODHULL
Yan hao (Wilson) Wu
[email protected]
University of the Western Cape
Computer Science Department
Study Goals
Introduce the basic concepts, structure and running
environment of the operating system
Introduce the principle of the operating system, type
of the operation system and its implementation
Introduce the history of the operation system and the
future tendency
Introduce and analysis the typical operating systems
Help students to develop the capability of analyzing
and solving problems regarding the operating system
(Pop quizzes)
The Modern Computer System
Microprogram
Figure 1.1 A computer system consists of hardware, system programs,
and application programs.
What Is an Operating System?
The operating system has two basic
functions
It is an extended machine or virtual
machine
Easier to program than the underlying
hardware
It is a resource manager
Shares resources in time and space
Operating System Generations
Generation 1 (1945 – 55)
Vacuum tubes and plugboards
Generation 2 (1955 – 65)
Transistors and batch systems
Generation 3 (1965 – 80)
ICs and multiprogramming
Generation 4 (1980 – Present)
Personal computers
ENIAC
In 1946, John Mauchly and J Presper Eckert developed the ENIAC. At 27
tonnes and the size of an entire room, the world's first computer is just as
elaborate as its name suggests — ENIAC or Electronic Numerator Integrator
Analyser and Computer. True to form, ENIAC also makes big noises, cracking
and buzzing while performing an equation of 5,000 additions. Before the
invention of ENIAC, it took a room full of people to calculate a similar equation
http://archives.cbc.ca/IDC-1-75-710-4182/science_technology/computers/clip1
Simple Batch System (1)
Figure 1-2. An early batch system. (a) Programmers bring
cards to 1401. (b)1401 reads batch of jobs onto tape.
Simple Batch System (2)
Figure 1-2. An early batch system. (c) Operator
carries input tape to 7094. (d) 7094 does computing.
Simple Batch System (3)
Figure 1-2. An early batch system. (e) Operator
carries output tape to 1401. (f) 1401 prints output.
Control Card
Figure 1-3. Structure of a typical FMS job.
Multiprogrammed Batch Systems
User application
I/O Interrupt
Monitor program
I/O device
User application a
User application b
Scheduling program
I/O device
I/O device
I/O
I/O
Multiprogrammed Batch Systems
Several jobs are kept in main memory at the same time,
and the CPU is multiplexed among them.
Time-Sharing Systems–Interactive Computing
On-line communication between the user and the
system is provided; when the operating system
finishes the execution of one command, it seeks the
next “control statement” not from a card reader, but
rather from the user’s keyboard.
Feature:
Multi-user,
Interactive
Independent
In – time service.
Real-Time Systems
Often used as a control device in a dedicated
application such as controlling scientific
experiments, medical imaging systems,
industrial control systems, and some display
systems.
Well-defined fixed-time constraints.
Hard real-time system. (Time deadline must
be meet)
Soft real-time system
Install MINIX
Web Site
www.cs.uwc.ac.za/~wwu
www.cs.uwc.ac.za/~lyee
Control Cards
Problems
1.How does the monitor know about the nature of
the job (e.g., Fortran versus Assembly) or which
program to execute?
2.How does the monitor distinguish
(a) job from job?
(b) data from program?
Solution
Introduce control cards
Control Cards (Cont.)
Special cards that tell the resident monitor which
programs to run
$JOB
$FTN
$RUN
$DATA
$END
Special characters distinguish control cards from data
or program cards:
$ in column 1
// in column 1 and 2
709 in column1
Control Cards (Cont.)
Parts of resident monitor
Control card interpreter – responsible for reading and
carrying out instructions on the cards.
Loader – loads systems programs and applications programs
into memory.
Device drivers – know special characteristics and properties
for each of the system’s I/O devices.
Problem: Slow Performance – I/O and CPU could not overlap ;
card reader very slow.
Solution: Off-line operation – speed up computation by loading
jobs into memory from tapes and card reading and line printing
done off-line.