W systemie Android każda aplikacja działa jako osobny użytkownik. W jądrze Linux każdy proces jest własnością jednego użytkownika, dlatego nie można uruchamiać wielu aplikacji Dalvik na jednym procesie Linux.
Narzut związany z uruchomieniem wielu instancji Dalvik VM jest niewielki, ponieważ fork()
wywołanie systemowe Linux to kopiowanie przy zapisie, zapis na udostępnionej stronie COW spowoduje „błąd strony” i ta strona zostanie skopiowana; więc nawet jeśli większość obszaru pamięci maszyny wirtualnej w pamięci RAM jest współużytkowana, nie ma „wspólnego stanu” między maszynami wirtualnymi.
Procesy rozwidlania zapewniają jedynie izolację stanu, ale nie izolację uprawnień.
Dalvik vm nie powinien być uważany za granicę bezpieczeństwa
Jest tak, ponieważ maszyna wirtualna nie może egzekwować granicy bezpieczeństwa. Maszyna wirtualna działa w trybie użytkownika (ten sam tryb, co program, który wykonuje), co oznacza, że błąd w maszynie wirtualnej może pozwolić aplikacji na modyfikację stanu maszyny wirtualnej w sposób niezamierzony; jądro działa jednak w trybie uprzywilejowanym i może egzekwować granicę bezpieczeństwa.