Application Domain | ||
I tre componenti principali di .NET Framework Common Language Runtime/Infrastructure (CLR/CLI) CLS - Common Language Specification CIL - Common Intermediate Language VES - Virtual Execution System |
Gli Application Domain sono processi leggeri che possono essere immaginati come una estensione del sistema di sicurezza basato sui sandbox di Java e del modello a Thread. Per "leggero" si intende che più application domain sono eseguiti in unico processo Win32, tuttavia viene comunque fornito loro un isolamento dagli errori in modo che una pecca in un application domain non comprometta l'esecuzione degli altri. Il Common Language Runtime fa affidamento alla sicurezza e alla verifica di conformità sui tipi e alle caratteristiche di facile controllo fornito dal Common Type System per garantire l'isolamento dagli errori tra gli application domain. Dal momento che il processo di verifica dei tipi può essere eseguito staticamente prima dell'esecuzione, questo procedimento non pesa sulla velocità di esecuzione e richiede un minor supporto per la sicurezza delle applicazioni da parte dell'hardware del microprocessore. Ogni applicazione può avere application domain multipli associata con essa, ed ognuno di questi ha un file di configurazione contenente i permessi di sicurezza. Queste informazioni di configurazione sono utilizzate dal CLR per fornire un sistema di sicurezza tipo sandbox analogo a quello presente in Java. Nonostante più application domain possano essere eseguiti in un unico processo, nessuna chiamata diretta è permessa tra metodi di oggetti presenti in differenti application domain. In alternativa un meccanismo di tipo proxy è utilizzato per isolare lo spazio dei codici.
|