6-Dec-15CSE 60641: Operating Systems1 -The structure of the “THE” multiprogramming system – Edsger W. Dijkstra Presented at the 1 st ACM SOSP, Gatlinburg,

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

OS Components and Structure
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Caching and Virtual Memory. Main Points Cache concept – Hardware vs. software caches When caches work and when they don’t – Spatial/temporal locality.
May 7, A Real Problem  What if you wanted to run a program that needs more memory than you have?
1 A Real Problem  What if you wanted to run a program that needs more memory than you have?
Chapter 10 Operating Systems. 2 Chapter Goals Describe the two main responsibilities of an operating system Define memory and process management Explain.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
CS 300 – Lecture 20 Intro to Computer Architecture / Assembly Language Caches.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
CS533 - Concepts of Operating Systems
CS4315A. Berrached:CMS:UHD1 Operating System Structures Chapter 3.
SM3121 Software Technology Mark Green School of Creative Media.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Caching and Virtual Memory. Main Points Cache concept – Hardware vs. software caches When caches work and when they don’t – Spatial/temporal locality.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 20 October 28, 2004.
Operating System 3 PROCESS DESCRIPTION AND CONTROL.
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
CompSci Today’s topics Virtual Environment for Computing Operating Systems Upcoming Review Reading Great Ideas, Chapter 10.
Operating System 3 PROCESS DESCRIPTION AND CONTROL.
Processes and OS basics. RHS – SOC 2 OS Basics An Operating System (OS) is essentially an abstraction of a computer As a user or programmer, I do not.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
3/15/2002CSE Final Remarks Concluding Remarks SOAP.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Summary and Review. Course Objectives The main objectives of the course are to –introduce different concepts in operating system theory and implementation;
Lecture 11 Page 1 CS 111 Online Working Sets Give each running process an allocation of page frames matched to its needs How do we know what its needs.
Unit 1 Week 5 “Print It!” “Caught in the Web”.
COMPUTER Structure Int 2 Unit 1 – Computer Systems St Kentigern’s Academy.
The Structure of the “THE”- Multiprogramming System Edsger W. Dijkstra Presented by: Jin Li.
Disk Basics CS Introduction to Operating Systems.
Capt Froberg. Outline What is a computer? What components does a computer need? Physical “Cloud” What is a virtual computer?
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
CS 147 Virtual Memory Prof. Sin Min Lee Anthony Palladino.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve.
CS533 Concepts of Operating Systems Jonathan Walpole.
Virtual Machines. A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating system kernel as though.
LECTURE 12 Virtual Memory. VIRTUAL MEMORY Just as a cache can provide fast, easy access to recently-used code and data, main memory acts as a “cache”
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Lecture 5 Page 1 CS 111 Online Process Creation Processes get created (and destroyed) all the time in a typical computer Some by explicit user command.
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Operating System Overview
Kernel Design & Implementation
Chapter 8: Main Memory.
Andy Wang COP 5611 Advanced Operating Systems
Operating System Structure
Process Creation Processes get created (and destroyed) all the time in a typical computer Some by explicit user command Some by invocation from other running.
Virtual Machines.
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Chapter 15, Exploring the Digital Domain
Operating Systems.
CSE 451: Operating Systems Autumn 2005 Memory Management
Andy Wang COP 5611 Advanced Operating Systems
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
OS Components and Structure
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
Operating System Introduction
CSE 542: Operating Systems
CSE 542: Operating Systems
Cache writes and examples
Presentation transcript:

6-Dec-15CSE 60641: Operating Systems1 -The structure of the “THE” multiprogramming system – Edsger W. Dijkstra Presented at the 1 st ACM SOSP, Gatlinburg, Tennessee, October 1-4, 1967 Awarded SOSP Hall of Fame award in 2005 Paper discusses the reasoning behind techniques that might have been taught as facts in your ugrad course Note that they don’t know the “correct terminology” for what they invented (e.g., deadlock) Style is so different. On the other hand, it might be embarrassing to see you rant in 40 years

What it talks about? Dijkstra describes his invention called semaphores They describe page relocation (so pages back from drum/disk can go anywhere), virtual memory (segmented memory is larger than physical memory) They describe the need for clean interfaces and a layered approach so that we can verify the logical soundness of their design They argue that with proper synchronization, logical clocks can be used – the physical clock speeds are not relevant 12/6/2015CSE 60641: Operating Systems2

Context Exciting times: multiple processors, devices (tape, tty) are becoming available. a desire for multiprogramming though multiuser systems are still far off. a desire to get more out of the device so that we can allow more users (perhaps commoditize computing though the authors do not explicitly say so) a desire to bring order to systems software development to manage complexity, bugs, correctness etc. 12/6/2015CSE 60641: Operating Systems3

How were their ideas relevant back then? Semaphores – they over estimate the complexity of managing semaphores. They assume that semaphores encourage clean and provable systems. They mention “an unstable situation” which we now refer as unsafe and deadlocked Layered approach: they argue the some commercial entities might not appreciate the simplicity because their university system was just too simple Page relocation –hard to imagine because machines had so little resources (32K main, 512K disk) How many processors did they have? 12/6/2015CSE 60641: Operating Systems4

How are the ideas relevant now Layers approach - later became the monolithic kernel vs microkernel/nano kernel argument. There has been much work on debugging/managing OS development. We are still not there yet Semaphores – undergrad OS students cannot escape semaphores Other systems ideas: VM, relocation etc. appropriate What do we mean by now: main frame, desktops, laptops, PDAs, phones? 12/6/2015CSE 60641: Operating Systems5

Discussion This paper is more than 40 years old. What do you think is the state of the OS now? 12/6/2015CSE 60641: Operating Systems6