The Structure of the “THE”- Multiprogramming System Edsger W. Dijkstra Presented by: Jin Li.

Slides:



Advertisements
Similar presentations
Introduction CSCI 444/544 Operating Systems Fall 2008.
Advertisements

CS 345 Computer System Overview
The Structure of the “THE”- Multiprogramming System
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
The Structure of “THE” – Multiprogramming System by Edsger W. Dijksta Technological University, Eindhoven, Netherlands. Presented by Navya Jammula.
Computer Science 162 Discussion Section Week 2. Agenda Recap “What is an OS?” and Why? Process vs. Thread “THE” System.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Chapter 1 and 2 Computer System and Operating System Overview
CS533 - Concepts of Operating Systems
Device Management.
The Structure of the “THE” -Multiprogramming System Edsger W. Dijkstra Jimmy Pierce.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Process Management A process is a program in execution. It is a unit of work within the system. Program is a passive entity, process is an active entity.
General What is an OS? What do you get when you buy an OS? What does the OS do? What are the parts of an OS? What is the kernel? What is a device.
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
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
 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.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Understanding Operating Systems Flynn & McHoes
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
System bus.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
The Structure of the “THE”-Multiprogramming System
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Operating System Principles And Multitasking
Chapter 1: Introduction
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
CS533 Concepts of Operating Systems Jonathan Walpole.
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.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
The Structure of the "THE"- Multiprogramming Edsger W. Dijkstra Technological University, Eindhoven, The Netherlands System Andrew Edwards.
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.
Applied Operating System Concepts
Applied Operating System Concepts
Processes and threads.
Review of The Structure of the “THE”-Multiprogramming System
Chapter 3 Top Level View of Computer Function and Interconnection
The Structure of “THE” – Multiprogramming System
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Operating System Concepts
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
The Structure of the “The” –Multiprogramming System
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Operating System Concepts
Presentation transcript:

The Structure of the “THE”- Multiprogramming System Edsger W. Dijkstra Presented by: Jin Li

Migration of Operating Systems Simple Batch Systems (mid 1950s – mid 1960s) Spooling Batch Systems (mid 1960s – mid 1970s) Multiprogramming Systems (1960s – ) Timesharing Systems (1970s – ) Personal Computers Multiprocessor and Distributed Systems

The Hardware EL X8  32K core memory, cycle time 2.5 usec;  512K drum, rev. time 40 msec;  Indirect addressing  Commanding peripherals and controlling interrupts  Low capacity channels for paper tape readers, paper tape punches, teleprinters, and etc.

The Goal A multiprogramming system to “process smoothly a continuous flow of user programs” Specific objectives  Short turn-around time for short programs  Economic use of peripheral devices  Automatic control of backing store and economic use of the central processor  Sharing the machine among multiple applications

The “THE”-Multiprogramming System A hierarchical system for multiprogramming  Each level implements an independent abstraction  A collection of sequential processes Automatic storage management  Core pages and drum pages  Segments: abstract memory units  Segment controller maps segments into core pages, and manages paging between core pages and drum pages Multiplexing processor  Semaphores  Timer interrupt  Priority rule

Storage Allocation Physical storage: Core pages and drum pages Information unit: segments A segment just fits in a page The number of possible segment ids >> the number of core pages + drum pages Segment variable  the physical location of the segment Separation of logical information from its physical location  A program can reside in several non-consecutive drum pages  A core page can be written to any free drum page (choose the one with lowest latency) The primitive form of VM

Processor Allocation Multiplexes the processor Important observation: the logical meaning of a process depends on time succession of its states, not its execution speed; Timer interrupt Synchronization: semaphores Priority rule for scheduling ready processes

System Hierarchy A number of sequential processes placed at various hierarchical levels  User programs  Input peripherals  Output peripherals  … … Each level implements an independent abstraction Higher levels are built on top of the abstractions provided by the lower levels

System Hierarchy: Level 0 Processor allocation  Timer interrupts  Priority rule (primitive form of scheduler)  Synchronization: using semaphores Observation: The correctness of a process depends on the succession of its internal state, not its execution speed Abstraction: each process owns a processor EL X8 Processor Allocation

System Hierarchy: Level 1 Segment controller Abstraction: Programs refer to segments, independent of their physical address Above level 1, each process has its own processor, and information is identified using segment-id EL X8 Processor Allocation Segment Controller call direction

System Hierarchy: Level 2 Message interpreter  Handles interrupt from keyboard  Generates printing command to printer  Routes console I/O to and from the right processes  Multiplexes the console, needs mutual synchronization  Why is it on top of the segment controller? Abstraction: each process has its own console Above level 2, each process has its own processor, only sees storage in segments, and has its own console EL X8 Processor Allocation Segment Controller Message Interpreter call direction

System Hierarchy: Level 3 Buffering I/O streams  Multiplexes peripherals  Each peripheral device is associated with a sequential process, which manages the input/output buffers of the device  Each process talks directly to the I/O buffers Abstraction: real peripherals to “logical communication units” Above level 3, each process has its own processor, information is identified by their segments, has its own console, and talks to the logical communication units EL X8 Processor Allocation Segment Controller Message Interpreter Buffering I/O streams call direction

System Hierarchy: Level 4 User programs  Each corresponds to a sequential process EL X8 Processor Allocation Segment Controller Message Interpreter Buffering I/O streams User Programs call direction

Semaphores In this paper  P(Semaphore s) { s := s-1; if s < 0, then wait;}  V(Semaphore s) { s := s+1; if s <= 0, then a waiting process is ready to execute; } The semantics of semaphores  P(Semaphore s) { await s > 0, then s := s-1;}  V(Semaphore s) { s := s+1;} Private semaphores are similar to condition variables

Experiences System abstraction Conception stage took a long time Prevent bugs instead of debugging Verification stage  Add a new level after the previous level has been thoroughly tested  How many tests do we need?