1 / 12

A Note on Operating System Organization

A Note on Operating System Organization. CS-502 – Spring 2006. The “THE” Operating System. System Operator. User Programs. I/O Management. Operator-Process Communication.

cristya
Download Presentation

A Note on Operating System Organization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Note onOperating System Organization CS-502 – Spring 2006 CS502 Spring 2006

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

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

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

  5. 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 CS502 Spring 2006

  6. Message-based systems – Resource manager <internal data for managing resource> while (true) { ReceiveMessage (socket, &content) switch (content.action) { case action1: <do something & reply> case action2: <do something else> case action3: <hold pending some event> case action4: <release previously held action & reply> ... } } CS502 Spring 2006

  7. E.g., File Manager void File_Manager(socket fileSocket) { <internal data for managing files> while (true) { ReceiveMessage (fileSocket, &content) switch (content.action) { case write: <do something & reply> case seek: <do something else> case read: <start disk activity> case readDone: <return result of read previously started> ... } } } CS502 Spring 2006

  8. 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 CS502 Spring 2006

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

  10. Procedure/Monitor-based systems • Resource Manager represented as a Monitor – e.g., monitor class file { <internal data for managing files> 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 CS502 Spring 2006

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

  12. 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. 3-19. CS502 Spring 2006

More Related