Application Domains

Operating systems typically provide some form of isolation between different applications running on the same system. This isolation is necessary to ensure that code running in one application does not adversely affect other (most likely unrelated) applications.

Historically, most OSs, including Windows, achieve this isolation using process boundaries. Under this model, there is one process per executing application and a crash in one application cannot affect any other executing application.

The common language runtime has similar needs for the isolation. However, there are many scenarios in which isolation at the process boundary is too expensive in terms of performance: A process switch involves a thread switch, saving ...

Get .NET Programming: A Practical Guide Using C# now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.