En Android, cada aplicación se ejecuta como un usuario separado. En el kernel de Linux, cada proceso es propiedad de un solo usuario, por lo tanto, no es posible ejecutar múltiples aplicaciones Dalvik en un solo proceso de Linux.
La sobrecarga de ejecutar múltiples instancias de Dalvik VM es liviana porque la fork()
llamada al sistema Linux es copia en escritura, una escritura en una página COW compartida causará un "error de página" y esa página se copiará; entonces, aunque la mayor parte de la región de memoria de la VM en la RAM es compartida, no hay un "estado compartido" entre las VM.
Los procesos de bifurcación solo proporcionan aislamiento de estado, pero no aislamiento de privilegios.
Dalvik vm no debe considerarse un límite de seguridad
Esto se debe a que la VM no puede imponer un límite de seguridad. La VM se está ejecutando en modo de usuario (el mismo modo que el programa que está ejecutando), lo que significa que un error en la VM podría permitir que la aplicación modifique el estado de la VM de una manera no prevista; Sin embargo, el núcleo se ejecuta en modo privilegiado y puede imponer límites de seguridad.