W rzeczywistości istnieją 3 koncepcje, które tutaj mieszają. Przede wszystkim jest to, co zapewnia system operacyjny, a to, co robi, oddziela przestrzeń pamięci dla aplikacji działających równolegle. I nazywa się virtual memory.
W systemach Virtual memory system operacyjny mapuje adres pamięci widziany przez aplikacje na rzeczywistą pamięć fizyczną. W ten sposób przestrzeń pamięci dla aplikacji może zostać oddzielona, aby nigdy się nie zderzyć.
Drugą metodą jest piaskownica. Jest to dowolna technika, którą ty, programista, używasz do uruchamiania niezaufanego kodu. Jeśli ty, programista, piszesz system operacyjny, to z twojego punktu widzenia system pamięci wirtualnej, który piszesz, jest mechanizmem sandboxingu. Jeśli ty, programista, piszesz przeglądarkę internetową, sam system pamięci wirtualnej nie jest mechanizmem sandboxingu (widzisz inne perspektywy). Zamiast tego jest to mechanizm pionowy do wdrożenia piaskownicy dla wtyczek do przeglądarek. Google Chrome jest przykładem programu, który wykorzystuje mechanizm pamięci wirtualnej systemu operacyjnego do implementacji mechanizmu piaskownicy.
Ale pamięć wirtualna nie jest jedynym sposobem na wdrożenie piaskownicy.Na przykład język programowania tcl umożliwia tworzenie instancji tłumaczeń niewolniczych za pomocą polecenia interp. Interpreter niewolnik jest często używany do implementacji piaskownicy, ponieważ działa on w oddzielnej przestrzeni globalnej. Z punktu widzenia systemu operacyjnego dwaj tłumacze działają w tej samej przestrzeni pamięci w jednym procesie. Ale ponieważ na poziomie C dwaj tłumacze nigdy nie dzielą struktur danych (chyba że są wyraźnie zaprogramowani), są skutecznie rozdzielani.
Trzecią koncepcją jest wirtualizacja. Które jest ponownie oddzielone od piaskownicy z pamięcią wirtualną i. Podczas gdy pamięć wirtualna jest mechanizmem, który z punktu widzenia OS, piaskownice przetwarzają się nawzajem, wirtualizacja jest mechanizmem oddzielającym systemy operacyjne od siebie nawzajem. Przykład oprogramowania, które to robi, to: Vmware, Parallels Desktop, Xen i kernel virtual machine.
Jak porównać te dwie koncepcje z wtyczkami przeglądarki internetowej i przeglądarkami lokalnymi? Uważam, że wtyczki do przeglądarek mają inną heurystykę niż VM i sandboxing dla ich pamięci i dostępu. – RBT