hidden pixel

Clr Application Domain Information

In the Common Language Runtime (CLR), an application domain is a mechanism (similar to a process in an operating system) used to isolate executed software applications from one another so that they do not affect each other. Each application domain has its own virtual address space which scopes the resources for the application domain using that address space.

Properties

A Common Language Runtime application domain is contained within an operating system process. A process may contain many application domains. Application Domains have isolation properties similar to that of operating system processes:

In this sense, the CLR is like a mini-operating system. It runs a single process that contains a number of sub-processes, or application domains.

The advantage of Application Domains is that running multiple Application Domains requires fewer resources, such as memory, than running multiple operating system processes.

Inter-domain Communications

Direct communication cannot be achieved across application domains. However, application domains can still talk to each other by passing objects via marshalling by value (unbound objects), marshaling by reference through a proxy (application-domain-bound objects). There is a third type of object called a context-bound object which can be marshalled by reference across domains and also within the context of its own application domain. Because of the verifiable type-safety of managed code, the CLR can provide fault isolation between domains at a much lower cost than an operating system process can. The static type verification used for isolation does not require the same process switches or hardware ring transitions that an operating system process requires.

References

Categories: Software architecture | .NET framework

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Tue Oct 25 12:20:33 2011.
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.