CS-3013 & CS-502, Summer 2006 Operating System Organization1 A Brief Discussion on Operating System Organization.

Slides:



Advertisements
Similar presentations
COS Operating System Assignment 4 (Precept 2) Inter-Process Communication and Process management Fall 2004.
Advertisements

Slide 2-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 2 Using the Operating System 2.
Deadlocks, Message Passing Brief refresh from last week Tore Larsen Oct
©2009 Operačné systémy Procesy. 3.2 ©2009 Operačné systémy Process in Memory.
Monitors Chapter 7. The semaphore is a low-level primitive because it is unstructured. If we were to build a large system using semaphores alone, the.
OS Organization 1 CS502 Spring 2006 A Note on Operating System Organization CS-502 – Spring 2006.
Informationsteknologi Wednesday, September 26, 2007 Computer Systems/Operating Systems - Class 91 Today’s class Mutual exclusion and synchronization 
Big Picture Lab 4 Operating Systems Csaba Andras Moritz.
Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Vidhya Priyadharshnee Palaniswamy Gnanam Spring 2011.
Concurrency: Mutual Exclusion and Synchronization Why we need Mutual Exclusion? Classical examples: Bank Transactions:Read Account (A); Compute A = A +
1 Concurrency: Mutual Exclusion and Synchronization Chapter 5.
1 On the Duality of Operating System Structures by Hugh C. Lauer, Xerox Corporation and Roger M. Needham, Cambridge University Presented by Scott Fletcher.
Concurrent Processes Lecture 5. Introduction Modern operating systems can handle more than one process at a time System scheduler manages processes and.
Synchronization and IPC 1 CS502 Spring 2006 More on Synchronization Interprocess Communication (IPC) CS-502 Spring 2006.
CS 3013 & CS 502 Summer 2006 IPC, Synchronization, and Monitors 1 More on Synchronization Interprocess Communication (IPC) CS-3013 & CS-502 Summer 2006.
Concurrency: Mutual Exclusion, Synchronization, Deadlock, and Starvation in Representative Operating Systems.
Processes 1 CS502 Spring 2006 Processes Week 2 – CS 502.
1 On the Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University Oct 1978, reprinted April 1979 Presented by David.
On the Duality of Operating System Structures Hugh Lauer Xerox Corporation Roger Needham Cambridge University Presented by Yahia Mahmoud.
Communication in Distributed Systems –Part 2
Concurrency - 1 Tasking Concurrent Programming Declaration, creation, activation, termination Synchronization and communication Time and delays conditional.
CS 3013 & CS 502 Summer 2006 Threads1 CS-3013 & CS-502 Summer 2006.
On the Duality of Operating System Structures Hugh C. Lauer Xerox Corporation Roger M. Needham Cambridge University Presented By: Ashwini Kulkarni.
Processes CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Concurrency 1 CS502 Spring 2006 Thought experiment static int y = 0; int main(int argc, char **argv) { extern int y; y = y + 1; return 0; }
C++ fundamentals.
User-level Memory Management Supervisor: Joe Cordina Co-Supervisor: Kurt Debattista Observer: Kevin Vella.
Dave Archer - CS533 - Spring On the Duality of Operating System Structures Hugh C. Lauer, Roger M. Needham.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Threads and Processes.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 6 System Calls OS System.
CS533 - Concepts of Operating Systems 1 On The Duality of Operating System Structures Hugh Lauer, Xerox Roger Needham, Cambridge University 1979 Presented.
CSC321 Concurrent Programming: §5 Monitors 1 Section 5 Monitors.
Processes Introduction to Operating Systems: Module 3.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
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.
CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
ON THE DUALITY OF OPERATING SYSTEM STRUCTURES Hugh C. Lauer and Roger M. Needham Presented by: Ali R. Butt (adapted from many slides available online and.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
PZ12B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ12B - Synchronization and semaphores Programming Language.
Synchronization and semaphores Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Processes CS 6560: Operating Systems Design. 2 Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode.
Lecture 5 Page 1 CS 111 Online Processes CS 111 On-Line MS Program Operating Systems Peter Reiher.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Discussion Week 2 TA: Kyle Dewey. Overview Concurrency Process level Thread level MIPS - switch.s Project #1.
CS 6401 Introduction to Computer Networks 09/21/2010 Outline - UNIX sockets - A simple client-server program - Project 1 - LAN bridges and learning.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
June 6, 2002Serguei A. Mokhov, 1 Salsa Theory Debrief 2 COMP346 - Operating Systems Tutorial 6 Edition 1.1, June 19, 2002.
CS533 – Spring Jeanie M. Schwenk Experiences and Processes and Monitors with Mesa What is Mesa? “Mesa is a strongly typed, block structured programming.
Processes. Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
REVIEW OF “ON THE DUALITY OF OPERATING SYSTEM STRUCTURES” Paper by Hugh C. Lauer and Roger M. Needham Presentation by Erin Chapman.
1 Advanced Operating Systems - Fall 2009 Lecture 7 – February 2, 2009 Dan C. Marinescu Office: HEC 439 B. Office hours:
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Big Picture Lab 4 Operating Systems C Andras Moritz
CS 3013 & CS 502 Summer 2006 Concurrency & Processes1 CS3013 & CS502 Operating Systems.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Computer System Structures
Kernel Design & Implementation
On the Duality of Operating System Structures
BOOTP and DHCP Objectives
Processes in Unix, Linux, and Windows
Processes and Threads.
Hugh Lauer Xerox Corporation Roger Needham Cambridge University
Foundations and Definitions
CSE 153 Design of Operating Systems Winter 2019
Synchronization and semaphores
Presentation transcript:

CS-3013 & CS-502, Summer 2006 Operating System Organization1 A Brief Discussion on Operating System Organization

CS-3013 & CS-502, Summer 2006 Operating System Organization2 The “THE” Operating System Processes & Semaphores Memory Management Operator-Process Communication I/O Management User Programs System Operator Dijkstra, E. W., “The Structure of the ‘THE’-Multiprogramming System,” Communications of ACM, vol.11, pp , May (.pdf).pdf

CS-3013 & CS-502, Summer 2006 Operating System Organization3 Operating System Organizations The literature in operating systems is full of papers of simple, elegant systems like this one Simple Easy to build and maintain by small teams Very instructive for study Limited usefulness

CS-3013 & CS-502, Summer 2006 Operating System Organization4 Question In a typical system, how do the layers or components talk to each other? Answer: one of two ways Messages between processes Procedure/function calls between “modules”

CS-3013 & CS-502, Summer 2006 Operating System Organization5 Message-based systems Processes are isolated from each other – separate address spaces, etc. IPC primitives Send Message (socket, content) Wait For Message (socket, &content) Requests, results, and status encoded in message contents Static processes to manage resources, create abstractions and layers

CS-3013 & CS-502, Summer 2006 Operating System Organization6 Message-based systems – Typical Resource Manager while (true) { ReceiveMessage (socket, &content) switch (content.action) { case action1: case action2: case action3: case action4: <release previously held action & reply>... }

CS-3013 & CS-502, Summer 2006 Operating System Organization7 E.g., File Manager void File_Manager(socket fileSocket) { while (true) { ReceiveMessage (fileSocket, &content) switch (content.action) { case write: case seek: case read: case writeDone: case readDone: <return result of previously started read operation>... }

CS-3013 & CS-502, Summer 2006 Operating System Organization8 Message-based systems (continued) Resource manager Infinite loop Created at system start-up, assigned fixed sockets Effectively a critical section – one request or activity is handled at a time Maintains internal data structures for queuing up requests that cannot be replied to immediately No sharing of data with requesting processes Status information encoded in message content Reply to specific socket of requester

CS-3013 & CS-502, Summer 2006 Operating System Organization9 Message-based systems (continued) Requested actions encapsulated in function – e.g., void read(file f, char *p, int len) { socket s = new(socket); content c = {f, readAction,len, s}; content r = {char c[len]); SendMessage(fileManager, c); WaitForMessage(s, &r); strcpy(r.c, p, len); } Examples MACH (Carnegie Mellon University) Mac OS-X

CS-3013 & CS-502, Summer 2006 Operating System Organization10 Procedure/Monitor-based systems Resource Manager represented as a Monitor – e.g., monitor class file { void read(file f, char *p, int len); void write(file f, char *p, int len); void seek(file f, position);... } Requester makes direct function calls to monitor Implies monitor is same address space

CS-3013 & CS-502, Summer 2006 Operating System Organization11 Process/Monitor systems Resource manager Static object with functions; created at start-up Effectively a critical section – one request or activity is handled at a time Maintains internal data structures for queuing up requests that cannot be replied to immediately Shared address space, but internal data hidden from requesters Status maintained in stack of requesting process Examples Pilot

CS-3013 & CS-502, Summer 2006 Operating System Organization12 Requested Actions Monitor function calls look just like calls to encapsulating functions in Message system – E.g., –void read(file f, char *p, int len); May either send a message or enter a monitor! Caller does not know the difference

CS-3013 & CS-502, Summer 2006 Operating System Organization13 Observation There is really no fundamental difference between systems organized by messages and those organized by monitors Choice depends upon what is available in underlying system Shared or separate address spaces Language support for monitor discipline … Lauer, H.C. and Needham, R.M., “On the Duality of Operating System Structures,” Operating Systems Review, vol 13, #2, April 1979, pp (.pdf).pdf

CS-3013 & CS-502, Summer 2006 Operating System Organization14 Next Topic