CS533 Concepts of Operating Systems Jonathan Walpole.

Slides:



Advertisements
Similar presentations
?  Able to explain the 6 key functions of system software  Able to explain each using a suitable example  Identify three different system software.
Advertisements

Global Environment Model. MUTUAL EXCLUSION PROBLEM The operations used by processes to access to common resources (critical sections) must be mutually.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Ch. 7 Process Synchronization (1/2) I Background F Producer - Consumer process :  Compiler, Assembler, Loader, · · · · · · F Bounded buffer.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
1 Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Informationsteknologi Wednesday, September 26, 2007 Computer Systems/Operating Systems - Class 91 Today’s class Mutual exclusion and synchronization 
The Structure of the “THE”- Multiprogramming System
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
1 Concurrency: Mutual Exclusion and Synchronization Chapter 5.
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
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.
1 Computer System Overview OS-1 Course AA
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
1 CSIT431 Introduction to Operating Systems Welcome to CSIT431 Introduction to Operating Systems In this course we learn about the design and structure.
Chapter 1 and 2 Computer System and Operating System Overview
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Chapter 11 Operating Systems
CS533 - Concepts of Operating Systems
Chapter 1 and 2 Computer System and Operating System Overview
The Structure of the “THE” -Multiprogramming System Edsger W. Dijkstra Jimmy Pierce.
Race Conditions CS550 Operating Systems. Review So far, we have discussed Processes and Threads and talked about multithreading and MPI processes by example.
Review of The Structure of the “THE”-Multiprogramming System Edsger W. Dijkstra Technological University, Eindhoven, The Netherlands Communications of.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Input/OUTPUT [I/O Module structure].
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
The Structure of the “THE”-Multiprogramming System
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Mutual Exclusion.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
1 Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Operating System Principles And Multitasking
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 7: Batch processing and the Job Entry Subsystem (JES) Batch processing and JES.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
The Structure of the “THE”- Multiprogramming System Edsger W. Dijkstra Presented by: Jin Li.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Lecture 1: Review of Computer Organization
IT3002 Computer Architecture
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
SOCSAMS e-learning Dept. of Computer Applications, MES College Marampally INTERPROCESS COMMUNICATION AND SYNCHRONIZATION SYNCHRONIZATION.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
The Structure of the "THE"- Multiprogramming Edsger W. Dijkstra Technological University, Eindhoven, The Netherlands System Andrew Edwards.
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
Chapter 8: Main Memory.
Review of The Structure of the “THE”-Multiprogramming System
Background on the need for Synchronization
The Structure of “THE” – Multiprogramming System
Concurrency: Mutual Exclusion and Synchronization
Operating Systems Chapter 5: Input/Output Management
BIC 10503: COMPUTER ARCHITECTURE
Components of a CPU AS Computing - F451.
Concurrency: Mutual Exclusion and Process Synchronization
The Structure of the “The” –Multiprogramming System
Chapter 3: Process Management
Presentation transcript:

CS533 Concepts of Operating Systems Jonathan Walpole

The Structure of the “THE”-Multiprogramming System Edsger W. Dijkstra Technological University, Eindhoven, The Netherlands Communications of the ACM, 11(5): , 1968

System Hardware  Electrologica X8  32K core memory, 2.5sec  512K word drum, 1024 words per track, …  Indirect addressing  Interrupt mechanism “to die for”  Low capacity channels, 10 are used  3 paper tape readers at 1000 char/sec  3 paper tape punches at 150char/sec  2 teleprinters  1 plotter  1 line printer

Goals Process a continuous flow of user programs Reduce turn-around time for short programs Economic use of peripheral devices and CPU Automatic control of backing store Efficient use of the machine for multiple applications Not intended as a multi-user interactive system

Paged Virtual Memory Hardware memory units – core pages and drum pages Information units – segments (virtual pages) -a segment fits in a page -segment identifier gives fast access to a segment variable -segment variable value tells if the segment is empty or not -if the segment is not empty, the value denotes which page(s) the segment can be found in A program does not have to occupy consecutive drum pages A core page can be dumped onto any free drum page

Processes Only the succession of various states has logical meaning for a process, not the execution speed Mutual synchronization enables cooperation between sequential processes Processor switches CPU among processes, temporarily delaying the progress of each current process The system is designed in terms of communicating sequential processes

Semaphores  Semaphores are initialized with the value of 0 or 1  P-operation (down) decreases value of a semaphore by 1  If result is non-negative, process can continue  If result is negative, process is stopped  V-operation (up) increases value of a semaphore by 1  If result is positive, operation has no further effect  If result is non-positive, a process on the waiting list is removed and made runnable  Semaphores are used in two radically different ways in THE: for mutual exclusion or condition synchronization

Mutual Exclusion begin semaphore mutex; mutex := 1; parbegin begin L1: P(mutex); critical section 1; V(mutex); remainder of cycle 1; go to L1 end; begin L2: P(mutex); critical section 2; V(mutex); remainder of cycle 2; go to L2 end parend end  Maximum value of mutex equals 1  Minimum value of mutex equals –(n-1) with n processes

Private Semaphores Each processes has a private semaphore initialized to 0 When progress depends on values of state variables: -P(mutex) “inspect and modify state variables and perhaps V(private semaphore)” -V(mutex) -P(private semaphore) When blocked processes need permission to continue: -P(mutex); “modification and inspection of state variables including zero or more V operations on private semaphores of other processes” -V(mutex)

Harmonious Cooperation The system is layered Sequential processes are cyclic -each process has a “homing position” (wait on private semaphore) -processes leave to accept a task and do not return until it is complete -a single initial task cannot generate an infinite number of tasks -processes only generate tasks for others at lower levels of the hierarchy Correctness concerns: -all processes should not be in their homing positions while there is still a pending unaccepted task -all processes eventually return to their homing position - absence of “circular waits”

System Hierarchy THE admits to a strict hierarchical structure Consists of 6 layers Level 5 - Operator Level 4 – User Programs Level 3 – Buffering I/O Level 2 – Message Interpreter Level 1 – Segment Controller Level 0 – Processor Allocation

Scheduler software implements semaphores & processes Processes synchronize using semaphores Clock interrupts prevent monopoly of the CPU Priority-based scheduling Above this level, the actual processor has lost its identity -the CPU has been virtualized using processes

Level 1 – Segment Controller A sequential process synchronized with the drum interrupt and sequential processes of higher levels Responsible for memory storage and allocation Abstracts storage in terms of segments This layer virtualizes storage -above here, the actual storage pages have lost their identity

Level 2 – Message Interpreter Manages ‘conversations’ between operators and processes - only one conversation at a time - when a key is pressed, the character and an interrupt is sent to the machine - performs output commands needed for printing This layer virtualizes I/O -above here, each process thinks it has its own console -the console teleprinter has lost its identity

Level 3 – Buffering I/O Buffering of input streams Un-buffering of output streams Placed above level 2 to allow conversations with the operator (for error detection) Abstracts the actual peripherals -above here there are logical communication units

Levels 4 and 5 Level 4: independent-user programs Level 5: the operator (not created by us!) The EL X8 Operator's Console Image from

Verification Performed layer-by-layer Level 0 tested before higher layers were added Level 1: all relevant states defined in terms of sequential processes working on core pages Layer-by-layer verification greatly reduced the number of relevant states needed for exhaustive testing Testing was able to continue even after the drum channel hardware failed

Conclusions  New concepts  Virtual CPU abstraction (process/thread)  Semaphores for mutual exclusion  Semaphores for condition synchronization  Paged virtual memory  Layered structure enabled thorough verification