OS Organization 1 CS502 Spring 2006 A Note on Operating System Organization CS-502 – Spring 2006.

Slides:



Advertisements
Similar presentations
Process management Information maintained by OS for process management  process context  process control block OS virtualization of CPU for each process.
Advertisements

Slide 2-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 2 Using the Operating System 2.
Computer Organization and Architecture
Deadlocks, Message Passing Brief refresh from last week Tore Larsen Oct
Informationsteknologi Wednesday, September 26, 2007 Computer Systems/Operating Systems - Class 91 Today’s class Mutual exclusion and synchronization 
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
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 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.
OS Spring 2004 Concurrency: Principles of Deadlock Operating Systems Spring 2004.
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
MicrokernelsCS-502 (EMC) Fall Microkernels CS-502, Operating Systems Fall 2009 (EMC) (Slides include materials from Modern Operating Systems, 3 rd.
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.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
1 CS503: Operating Systems Part 1: OS Interface Dongyan Xu Department of Computer Science Purdue University.
COP 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
Dave Archer - CS533 - Spring On the Duality of Operating System Structures Hugh C. Lauer, Roger M. Needham.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
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.
CS-3013 & CS-502, Summer 2006 Operating System Organization1 A Brief Discussion on Operating System Organization.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
CSC321 Concurrent Programming: §5 Monitors 1 Section 5 Monitors.
© 2000 Morgan Kaufman Overheads for Computers as Components Processes and operating systems Operating systems. 1.
Processes Introduction to Operating Systems: Module 3.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
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.
Networking Implementations (part 1) CPS210 Spring 2006.
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.
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:
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
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
Introduction to Operating Systems Concepts
Computer System Structures
Input/Output (I/O) Important OS function – control I/O
Kernel Design & Implementation
On the Duality of Operating System Structures
PROCESS MANAGEMENT Information maintained by OS for process management
Processes and Threads.
Hugh Lauer Xerox Corporation Roger Needham Cambridge University
January 15, 2004 Adrienne Noble
Foundations and Definitions
CSE 153 Design of Operating Systems Winter 2019
Department of Computer Science
Presentation transcript:

OS Organization 1 CS502 Spring 2006 A Note on Operating System Organization CS-502 – Spring 2006

OS Organization 2 CS502 Spring 2006 The “THE” Operating System Dijkstra, E. W., “The Structure of the ‘THE’-Multiprogramming System,” Communications of ACM, vol.11, pp , May Processes & Semaphores Memory Management Operator-Process Communication I/O Management User Programs System Operator

OS Organization 3 CS502 Spring 2006 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

OS Organization 4 CS502 Spring 2006 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”

OS Organization 5 CS502 Spring 2006 Message-based systems Processes are isolated from each other – separate address spaces, etc. IPC primitives Send Message (socket, content) Wait For Message (socket, &content) Request, results, and status encoded in message contents Static processes to manage resources, create abstractions and layers

OS Organization 6 CS502 Spring 2006 Message-based systems – Resource manager while (true) { ReceiveMessage (socket, &content) switch (content.action) { case action1: case action2: case action3: case action4: <release previously held action & reply>... }

OS Organization 7 CS502 Spring 2006 E.g., File Manager void File_Manager(socket fileSocket) { while (true) { ReceiveMessage (fileSocket, &content) switch (content.action) { case write: case seek: case read: case readDone: <return result of read previously started>... }

OS Organization 8 CS502 Spring 2006 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 Any status information is encoded in content Reply to specific socket of requester

OS Organization 9 CS502 Spring 2006 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

OS Organization 10 CS502 Spring 2006 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

OS Organization 11 CS502 Spring 2006 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

OS Organization 12 CS502 Spring 2006 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