Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CS-3013 & CS-502, Summer 2006 Operating System Organization1 A Brief Discussion on Operating System Organization."— Presentation transcript:

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

2 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. 341-346, May 1968. (.pdf).pdf

3 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

4 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”

5 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

6 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>... }

7 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>... }

8 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

9 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

10 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

11 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

12 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

13 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. 3-19. (.pdf).pdf

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


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

Similar presentations


Ads by Google