DistOS 2015W Session 5: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
''' | '''Cloud Distributed Operating System''' | ||
It is a distributed OS running on a set of computers that are interconnected by a group of network. It basically unifies different computers into a single component. | It is a distributed OS running on a set of computers that are interconnected by a group of network. It basically unifies different computers into a single component. | ||
The OS is based on 2 patterns: | The OS is based on 2 patterns: | ||
Line 9: | Line 9: | ||
Sending message to object causes object to execute the method and then reply back. | Sending message to object causes object to execute the method and then reply back. | ||
It has | It has Active Objects and Passive objects | ||
1.'''Active Objects''' are the objects which have one or more processes associated with them and further they can communicate with the external environment. | 1.'''Active Objects''' are the objects which have one or more processes associated with them and further they can communicate with the external environment. | ||
Line 18: | Line 18: | ||
Another important part of Cloud DOS are '''threads''' | Another important part of Cloud DOS are '''threads''' | ||
The | The threads are the logical path of execution that traverse objects and executes code in them. | ||
Note: The cloud thread is not bound to a single address space. Several threads can enter an object simultaneously and execute concurrently. | Note: The cloud thread is not bound to a single address space. Several threads can enter an object simultaneously and execute concurrently. | ||
Line 25: | Line 25: | ||
Interaction between '''Objects''' and '''Threads''' | |||
1) | 1)Inter object interfaces are procedural | ||
2)Invocations work across machine boundaries | 2)Invocations work across machine boundaries | ||
3)Objects in cloud unify concept of persistent storage and memory to create address space, thus making the programming simpler. | 3)Objects in cloud unify concept of persistent storage and memory to create address space, thus making the programming simpler. | ||
4)Control flow achieved by threads invoking objects. | 4)Control flow achieved by threads invoking objects. | ||
'''Cloud Environment''' | |||
1) Integrates set of homogeneous machines into one seamless environment | 1) Integrates set of homogeneous machines into one seamless environment | ||
2) There are three logical categories of machines- Compute Server, User Workstation and Data server. | 2) There are three logical categories of machines- Compute Server, User Workstation and Data server. | ||
Line 37: | Line 37: | ||
---- | ---- | ||
'''Plan 9''' | |||
Plan 9 is a general purpose, multiuser and mobile computing environment physically distributed across machines. | Plan 9 is a general purpose, multiuser and mobile computing environment physically distributed across machines. | ||
Line 63: | Line 63: | ||
Another concept in Plan 9 is the '''Virtual Name Space''' | Another concept in Plan 9 is the '''Virtual Name Space''' | ||
In a | In a '''Virtual Name Space''', a user boots a terminal or connects to a CPU server and then a new process group is created. | ||
Processes in group can either add to or rearrange their name space using two system calls- [[Mount]] and [[Bind]] | Processes in group can either add to or rearrange their name space using two system calls- [[Mount]] and [[Bind]] | ||
* | * '''Mount''' is used to attach new file system to a point in name space. | ||
* | *'''Bind''' is used to attach a kernel resident file system to name space and also arrange pieces of name space. | ||
---- | ---- |
Revision as of 03:34, 3 February 2015
Cloud Distributed Operating System
It is a distributed OS running on a set of computers that are interconnected by a group of network. It basically unifies different computers into a single component.
The OS is based on 2 patterns: 1. Message Based OS 2. Object Based OS
The structure of this is based on Object Thread Model. It has set of objects which are defined by the class. Objects respond to messages. Sending message to object causes object to execute the method and then reply back.
It has Active Objects and Passive objects
1.Active Objects are the objects which have one or more processes associated with them and further they can communicate with the external environment. 2.Passive Objects are the object which have no processes in them.
The contents of the Cloud are long lived. They exist forever and can survive system crashes and shut downs.
Another important part of Cloud DOS are threads
The threads are the logical path of execution that traverse objects and executes code in them.
Note: The cloud thread is not bound to a single address space. Several threads can enter an object simultaneously and execute concurrently.
The nature of the Cloud object prohibits a thread from accessing any data outside the current address space in which it is executing.
Interaction between Objects and Threads
1)Inter object interfaces are procedural
2)Invocations work across machine boundaries
3)Objects in cloud unify concept of persistent storage and memory to create address space, thus making the programming simpler.
4)Control flow achieved by threads invoking objects.
Cloud Environment 1) Integrates set of homogeneous machines into one seamless environment 2) There are three logical categories of machines- Compute Server, User Workstation and Data server.
Plan 9
Plan 9 is a general purpose, multiuser and mobile computing environment physically distributed across machines. The Plan 9 began in late 1980s. The aims of this system are: 1) To built a system that should be centrally administered 2) Cost effective using cheap modern microcomputers. The distribution itself is transparent to most programs. This property is made possible by 2 properties: 1) A per process group name space 2) A uniform access to all the resources by representing them as a file.
It is quite similar to the Unix yet so different. The commands, libraries and system calls are similar to that of Unix and therefore a casual user cannot distinguish between these two. The problems in UNIX were too deep to fix but still the various ideas were brought along.
What actually distinguishes Plan 9 is its organization.
Plan 9 is divided along the lines of service function.
- CPU services and terminals use same kernel
- Users may choose to run programs locally or remotely on CPU servers
- Gives the user a choice to choose whether they want distributed or centralized.
The design of Plan 9 is based on 3 principles: 1) Resources are named and accessed like files in hierarchical file system. 2) Standard protocol 9P 3) Disjoint hierarchical provided by different services are joined together into single private hierarchal file name space.
Another concept in Plan 9 is the Virtual Name Space In a Virtual Name Space, a user boots a terminal or connects to a CPU server and then a new process group is created. Processes in group can either add to or rearrange their name space using two system calls- Mount and Bind
- Mount is used to attach new file system to a point in name space.
- Bind is used to attach a kernel resident file system to name space and also arrange pieces of name space.