The Structure of the “The” –Multiprogramming System

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Chapter 6: Process Synchronization
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 6: Process Synchronization.
The Structure of the “THE”- Multiprogramming System
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.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
CS533 - Concepts of Operating Systems
Common System Components
The Structure of the “THE” -Multiprogramming System Edsger W. Dijkstra Jimmy Pierce.
A. Frank - P. Weisberg Operating Systems Introduction to Cooperating Processes.
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.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
6 Memory Management and Processor Management Management of Resources Measure of Effectiveness – On most modern computers, the operating system serves.
The Structure of the “THE”-Multiprogramming System
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
The Structure of the “THE”- Multiprogramming System Edsger W. Dijkstra Presented by: Jin Li.
Problems with Semaphores Used for 2 independent purposes –Mutual exclusion –Condition synchronization Hard to get right –Small mistake easily leads to.
CS533 Concepts of Operating Systems Jonathan Walpole.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Introduction to operating systems What is an operating system? An operating system is a program that, from a programmer’s perspective, adds a variety of.
The Structure of the "THE"- Multiprogramming Edsger W. Dijkstra Technological University, Eindhoven, The Netherlands System Andrew Edwards.
A computer consists of five functionally independent main parts.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Introduction to Operating Systems Concepts
Computer Organization and Design
Computer Organization
Applied Operating System Concepts
Module 3: Operating-System Structures
Module 12: I/O Systems I/O hardware Application I/O Interface
Processes and threads.
Review of The Structure of the “THE”-Multiprogramming System
COT 4600 Operating Systems Fall 2009
Background on the need for Synchronization
Operating Systems (CS 340 D)
Andy Wang COP 5611 Advanced Operating Systems
Operating System Structure
Chapter 3 – Process Concepts
Input/Output.
Chapter 3 Top Level View of Computer Function and Interconnection
The Structure of “THE” – Multiprogramming System
Computer Architecture
Inter-Process Communication and Synchronization
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Concurrency: Mutual Exclusion and Synchronization
Recap OS manages and arbitrates resources
Chapter 3: Operating-System Structures
ECEG-3202 Computer Architecture and Organization
Threading And Parallel Programming Constructs
Process Synchronization
Chapter 1 Introduction to Operating System Part 5
Operating System Concepts
BIC 10503: COMPUTER ARCHITECTURE
Chapter 5: I/O Systems.
Concurrency: Mutual Exclusion and Process Synchronization
Outline Chapter 2 (cont) OS Design OS structure
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
OS Components and Structure
Computer System Overview
System calls….. C-program->POSIX call
Operating System Concepts
Parallel execution Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
III. Operating System Structures
Presentation transcript:

The Structure of the “The” –Multiprogramming System Edsger W. Dijkstra Presented By: Nick Tyrrell

Paper Introduction May, 1968 Response to a call for papers on timely research and development efforts Six person team 3 Guiding Principles Select an ambitious project Select a machine with a good basic design Experience != Wisdom

EL X8 32K core memory 512K words drum size Good peripheral and interrupt control Several low capacity channels Tape readers/writers, printers, etc Lack of other awkward features

The System Goals Quick turn-around for short term programs Economic peripheral use Economic backing store and processor use Flexibility as a general purpose computer

System Survey Storage Allocation Processor Allocation System Hierarchy Semaphores System Hierarchy

Storage Allocation Prior system implementations used core memory for page-wise access to information Segments Hold the information Can be on any page in memory Location discovered via segment variables in core memory

Storage Allocation cont… This approach reduces drum allocation time Allows for flexible program storage

Processor Allocation Society of sequential processes User programs Input peripherals Output peripherals Segment controller Message Interpreter This society requires synchronization

Semaphores Integer variable initialized to 1 or 0 Atomic Methods P() decrements variable and places process on a waiting list if new value is negative V() increments variable and removes a process from waiting list if new value is non-positive

Semaphores cont… Example mutex = 1; P(mutex); critical section V(mutex);

Private Semaphores Same as semaphores except only one process will ever perform a P() operation (block) on it while other process can perform a V() (signal) operation on it Allowed values are -1,0,1

Private Semaphores Used to block process while configuring environment There is a free reader, and a process needing a reader. Block while the connection is made Resume after connection

System Hierarchy Levels of abstraction Processor Allocation Segment Control Message Interpreter Input and Output Buffering Independent-user Programs The Operator

Processor Allocation Level Process Scheduling Real-Time clock interrupt handler Prioritization Above this level, individual processor identity is lost

Segment Controller Separate process Drum interrupt handler Provides bookkeeping for backing store Above this level, pages lose their identity and all information is accessed via segment addressing

Message Interpreter Keyboard interrupt handler Outputs a request to print the character to the printer Provides a communication mechanism between running processes and the user

Message Interpreter cont… Above this level, each process appears to have its own conversation consol One conversation at a time Multiple conversations are synchronized Also above this level, the teleprinter looses its identity

Input and Output Buffering Buffering of input streams Un-buffering of output streams Notifies the consol when a malfunction is detected Above this level, the I/O devices loose their individual identity

Other Levels The next level is represented by user programs User programs run on top of the prior Levels The final level is the Operator

Design Experience Two main mistakes Assuming a “perfect installation” No thought to debugging during design The system was proven logically sound prior to construction

Design Experience cont… Conception Took a long time Construction Plain machine code Verification Testing was done from the bottom level up Each level was exhaustively tested prior to the next

Dijkstra’s Conclusion Nothing new in program verification Effective structuring minimizes testing He hopes industry will follow this example