Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.

Similar presentations


Presentation on theme: "Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview."— Presentation transcript:

1 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview

2 1.2 Chapter 1: Introduction & Historical Overview  What is an Operating System? Program library Environment Resource Manager Command Interpreter Government Control Program “Wizard”  Purposes of an Operating System Ease of Use Efficiency  Historical Development Phase 1 Computers are Expensive, People are Cheap Phase 2 Computers are Cheap, People are Expensive

3 1.3 What is an Operating System ?  A program or series of programs that act as the intermediary between the user and the hardware  A program that provides an environment in which users can execute a program  A resource manager which provides ease of use and efficiency  A command interpreter, acting as a translator between the user and the machine

4 1.4 An OS can be viewed as:  A Government- providing an environment in which other programs can do work  A Resource Allocator - managing the resources of the system efficiently  A Control Program - managing user programs to prevent errors and improve efficiency  A “WIZARD” creating illusions

5 1.5 Purposes of an OS  Primary Goal: convenience to the user  Secondary Goal: efficient use of hardware

6 1.6 HISTORY "Operating System" is a hard term to define.  There were problems and operating systems arose to solve those problems.  We can understand operating systems through understanding their historical development.

7 1.7 HISTORY Part I (roughly 1950's to mid 1970's) Idea that drove operating systems:  Computers were expensive and people were cheap.  Goal: make more efficient use of the hardware and get users farther from the machine.

8 1.8 HISTORY  Early Systems 1) Bare Machine: In the beginning there was only hardware! Programs were written, debugged and operated run from the main console of the computer. (Everything had to be translated directly into binary.)

9 1.9 HISTORY 1. Bare machine  a) Hands-on and totally interactive: Programmers were also computer operators. Users work at console one user at a time. A reservation system was set up to reserve time for using the machine.

10 1.10 HISTORY  b) Programs were loaded manually from memory (by setting switches, paper tape, punched cards, etc.)  c) Programs were started by loading the program counter with the address of the first instruction.  d) Operator monitored the execution by watching the console. If errors arose, he/she could halt the program, examine and debug right from the console.  I/O was controlled by the program

11 1.11 HISTORY Problems:  Low productivity for user and hardware. 1) Single user 2) Low utilization (no overlap of computation and I/O) (e.g. Suppose you sign up for 1 hr. and program runs in 35 minutes- machine is idle for rest of the hour. On the other hand- if you encounter a bug, you may not complete in an hour and have to pack up and start all over at another time.)

12 1.12 HISTORY 2. Development of Hardware and Software A. Card readers, line printers and tape drives, assemblers, linkers, loaders and device drivers were designed to ease programming task.  Linkers -linked code with common library subroutines  Loaders- automated the process of loading the program into memory  Device drivers- (each different I/O device had its own set of instructions) code was written containing the settings for buffers, flags, registers, control bits, etc.

13 1.13 HISTORY B. Compilers for different languages were developed made programming easier, but computer operation more complex: 1) Compiler had to be loaded 2) Program compiled and its output assembled 3) Then it was linked with library routines and finally 4) Loaded into memory and executed.

14 1.14 HISTORY Problem:  This required more set-up time,since different compilers were needed for each language.  If an error occurred- had to start all over again.

15 1.15 HISTORY C. I/O routines- used by most programs were eventually developed into a set of precompiled routines and libraries which the linker could combine with users code.

16 1.16 HISTORY 3. Batch Processing  Operator became distinct from user.  Manual set up wasted too much time and left very expensive computers idle too long (costly)  Aim - to increase utilization and productivity

17 1.17 HISTORY 3. Batch Processing (continued) a) Hired professional computer operators - start one job immediately after another - decrease idle time and set up time - debugging was more difficult: operator could not debug program; a memory dump was printed and given to programmer

18 1.18 HISTORY b) Jobs with similar needs were batched together (eg. FORTRAN,COBOL,FORTRAN... All Fortran programs run first, then reset to run COBOL) - eliminated unnecessary set-up. PROBLEM:  CPU still sat idle while operator analyzed why program stopped, dumped memory and restarted computer with next job.

19 1.19 HISTORY c) Automated job sequencing  - procedure for automatically transferring control from one job to another  -beginnings of what is now called an operating system.

20 1.20 HISTORY Problems: - No idea of protection (programs and data could overwrite one another in memory). - Made better use of the hardware, but hard on user who needed to debug a program.

21 1.21 HISTORY 4) Off-Line Operation - allows the overlap of CPU and I/O operations by executing these two actions on two separate machines 5) Buffering and Spooling -Buffering overlaps the I/O of one job with its own computations - Spooling- (Simultaneous Peripheral Operation On-Line)

22 1.22 HISTORY Part II (roughly late 1970's to present)  IDEA: Hardware is cheap and people are expensive  1950’s 1990’s - 2000’s  Machine- $1 million Machine < $10,000  Programmer- $10,000 Programmer- $100,000

23 1.23 HISTORY 1. Multiprogramming (shared cpu) - several jobs in memory at once. ( See lawyer analogy p 16.) 2. Interactive timesharing (multitasking) 3. Parallel Systems - (Multiprocessing) contain multiple processors ( CPUs) require code to be written modularly

24 1.24 HISTORY 4. Real-Time Systems - have well-defined time constraints - processing MUST be done within the time constraints or the system fails a) hard –guarantees tasks completed on time b) soft – critical task gets priority over another task - data stored in ROM, very limited secondary storage - virtual memory rarely included Examples?

25 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 End of Chapter 0


Download ppt "Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview."

Similar presentations


Ads by Google