Evolution of Operating Systems

Slides:



Advertisements
Similar presentations
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Advertisements

Maninder Kaur OPERATING SYSTEM Maninder Kaur 11 Oct 2010.
CS 345 Computer System Overview
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
Chapter 1: Introduction
Lecture 1: History of Operating System
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Chapter 8 Operating System Support
Operating Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Bare Machine (early 1950s) Structure  Large machines run from console  Single user.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Operating System Overview
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 1. Introduction What is an Operating System? Mainframe Systems
CE Operating Systems Lecture 1 Introduction to the module, definition and historical development of operating systems.
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL Yan hao (Wilson) Wu University of the Western.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
OPERATING SYSTEMS UNIT – I R.SOUJANYA IT Dept. UNIT I Computer System and Operating System Overview Chapter 1: IntroductionIntroduction Overview of Computer.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
CS 345 Computer System Overview
Operating Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Copyright Prentice Hall, Inc. 1 Operating System Overview.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Applied Operating System Concepts
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Overview
Chapter 1: Introduction
Chapter 1: Introduction
Where are being used the OS?
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Chapter 1: Intro (excerpt)
Operating System Concepts
Chapter 1: Introduction
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Operating Systems Principles Lecture 1: Introduction
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
Operating System Overview
Chapter 2 Operating System Overview
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

Evolution of Operating Systems

Evolution of Operating Systems Early Systems (1950) Simple Batch Systems (1960) Multiprogrammed Batch Systems (1970) Time-Sharing and Real-Time Systems (1970) Personal/Desktop Computers (1980) Multiprocessor Systems (1980) Networked/Distributed Systems (1980) Web-based Systems (1990) A. Frank - P. Weisberg

Evolution of Operating Systems Mainframe Systems – eg: IBM’s OS/360 , z/os Desktop Systems – eg: Linux , windows Multiprocessor Systems – eg: Linux , windows ,unix Distributed Systems – eg: Linux , windows Clustered System – eg: Angel ,Amoeba , Alpha kernel Real -Time Systems – eg: Vxworks , QNS , RTLinux Handheld Systems – eg: Symbian OS,Palm os , windows CE, Linux A. Frank - P. Weisberg

Evolution of Computer systems First generation 1945 - 1955 vacuum tubes, plug boards Second generation 1955 - 1965 transistors, batch systems Third generation 1965 – 1980 ICs and multiprogramming Fourth generation 1980 – present personal computers A. Frank - P. Weisberg

Evolution of an Operating Systems? Must adapt to hardware upgrades and new types of hardware. Examples: Character vs. graphic terminals Introduction of paging hardware Must offer new services, e.g., internet support. The need to change the OS on regular basis place requirements on it’s design: modular construction with clean interfaces. object oriented methodology.

Early Systems Structure Single user system. Programmer/User as operator (Open Shop). Large machines run from console. Paper Tape or Punched cards.

Example of an early computer system

Characteristics of Early Systems Early software: Assemblers, Libraries of common subroutines (I/O, Floating-point), Device Drivers, Compilers, Linkers. Need significant amount of setup time. Extremely slow I/O devices. Very low CPU utilization. But computer was very secure.

Simple Batch Systems Use of high-level languages, magnetic tapes. Jobs are batched together by type of languages. An operator was hired to perform the repetitive tasks of loading jobs, starting the computer, and collecting the output (Operator-driven Shop). It was not feasible for users to inspect memory or patch programs directly.

Operator-driven Shop

Operation of Simple Batch Systems The user submits a job (written on cards or tape) to a computer operator. The computer operator place a batch of several jobs on an input device. A special program, the monitor, manages the execution of each program in the batch. Monitor utilities are loaded when needed. “Resident monitor” is always in main memory and available for execution.

Idea of Simple Batch Systems Reduce setup time by batching similar jobs. Alternate execution between user program and the monitor program. Rely on available hardware to effectively alternate execution from various parts of memory. Use Automatic Job Sequencing – automatically transfer control from one job when it finishes to another one.

Job Control Language (JCL) $FTN ... FORTRAN program $LOAD $RUN Data $END JCL is the language that provides instructions to the monitor: what compiler to use what data to use Example of job format: ------->> $FTN loads the compiler and transfers control to it. $LOAD loads the object code (in place of compiler). $RUN transfers control to user program.

Example card deck of a Job

Effects of Job Control Language (JCL) Each read instruction (in user program) causes one line of input to be read. Causes (OS) input routine to be invoked: checks for not reading a JCL line. skip to the next JCL line at completion of user program.

Offline Operation Problem: Card Reader slow, Printer slow (compared to Tape). I/O and CPU could not overlap. Solution: Offline Operation (Satellite Computers) – speed up computation by loading jobs into memory from tapes while card reading and line printing is done off-line using smaller machines.

Main/Offline Computers

Memory Layout for Uniprogramming

Memory Layout for Batch Multiprogramming Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them.

Multiprogramming

Multiprogramming

Why Multiprogramming? Multiprogramming (also known as Multitasking) needed for efficiency: Single user cannot keep CPU and I/O devices busy at all times. Multiprogramming organizes jobs (code and data) so CPU always has one to execute. A subset of total jobs in system is kept in memory. One job selected and run via job scheduling. When it has to wait (for I/O for example), OS switches to another job.

Example of Multiprogramming kernel I/O } scheduler I/O request { device driver scheduler } Time slice exceeded scheduler } Interrupt device driver { } scheduler A. Frank - P. Weisberg

Components of Multiprogramming A. Frank - P. Weisberg

Requirements for Multiprogramming Hardware support: I/O interrupts and DMA controllers in order to execute instructions while I/O device is busy. Timer interrupts for CPU to gain control. Memory management several ready-to-run jobs must be kept in memory. Memory protection (data and programs). Software support from the OS: For scheduling (which program is to be run next). To manage resource contention.