OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL

Preview:

DESCRIPTION

OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL. Yan hao (Wilson) Wu wwu@uwc.ac.za University of the Western Cape Computer Science Department. Study Goals. Introduce the basic concepts, structure and running environment of the operating system - PowerPoint PPT Presentation

Citation preview

OPERATING SYSTEMSDESIGN AND IMPLEMENTATION

Third EditionANDREW S. TANENBAUMALBERT S. WOODHULLYan hao (Wilson) Wu

wwu@uwc.ac.zaUniversity of the Western CapeComputer Science Department

Study GoalsIntroduce the basic concepts, structure and running environment of the operating systemIntroduce the principle of the operating system, type of the operation system and its implementation Introduce the history of the operation system and the future tendencyIntroduce and analysis the typical operating systemsHelp students to develop the capability of analyzing and solving problems regarding the operating system

(Pop quizzes)

The Modern Computer System

Figure 1.1 A computer system consists of hardware, system programs, and application programs.

Microprogram

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 managerShares 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

Monitor programI/O device

User application aUser application bScheduling program

I/O device

I/O device

I/O Interrupt

I/OI/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,InteractiveIndependentIn – time service.

Real-Time SystemsOften 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 Sitewww.cs.uwc.ac.za/~wwuwww.cs.uwc.ac.za/~lyee

Control CardsProblems

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?

SolutionIntroduce control cards

Control Cards (Cont.)Special cards that tell the resident monitor which programs to run$JOB$FTN$RUN$DATA$ENDSpecial characters distinguish control cards from data or program cards:$ in column 1// in column 1 and 2709 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.

Recommended