Limiti: processi e domini di applicazione
Per eseguire singole applicazioni nei sistemi operativi e negli ambienti di runtime attuali, e` necessario realizzare un sistema di protezione da eventuali errori che si possono verificare in altre applicazioni. Questo meccanismo di protezione viene implementato mediante processi e domini di applicazione.
Processi
Nei sistemi operativi Microsoft Windows la protezione delle singole applicazioni viene realizzata eseguendo ogni applicazione in un processo indipendente. Se un'applicazione si blocca per un motivo qualsiasi, solo il relativo processo ne e` influenzato, mentre le applicazioni in processi diversi continuano a funzionare. Poiche´ gli indirizzi di memoria di un processo non hanno significato in un altro processo, infatti, puo` risultare complesso chiamare le funzioni di un processo da un processo diverso. Con il termine marshalling si indicano gli eventi che si verificano quando il package di una chiamata e degli eventuali argomenti viene creato in un processo e annullato in un altro, in modo che la chiamata possa essere eseguita in modo corretto oltre il limite di un processo.
Domini di applicazione
Nell'ambiente gestito i domini di applicazione, che possono essere considerati processi logici, e i contesti offrono isolamento e protezione a costi contenuti e con maggiore scalabilita` rispetto a un processo di sistema operativo, grazie al fatto che il codice gestito e` indipendente dai tipi e che questa condizione e` verificabile. Ogni applicazione gestita viene eseguita in un dominio di applicazione, indipendentemente dal fatto che il dominio venga avviato da un'altra applicazione o dall'ambiente host. In .NET Remoting e` implementata un'infrastruttura per la comunicazione tra domini di applicazione diretta e protetta da tecnologie apposite.
Vedere anche
Altre risorse
Trasformazione in oggetti remotizzabili
Domini applicazione
Overview of the .NET Framework