En realidad, hay 3 conceptos que está confundiendo aquí. Lo primero y más importante es lo que proporciona el sistema operativo y lo que hace es separar el espacio de memoria para las aplicaciones que se ejecutan en paralelo. Y se llama virtual memory.
En los sistemas Virtual memory, el sistema operativo asigna la dirección de memoria tal como la ven las aplicaciones en la memoria física real. Por lo tanto, el espacio de memoria para las aplicaciones se puede separar para que nunca colisionen.
El segundo es sandboxing. Es cualquier técnica que usted, el programador, usa para ejecutar código que no es de confianza. Si usted, el programador, está escribiendo el sistema operativo, entonces desde su punto de vista, el sistema de memoria virtual que está escribiendo es un mecanismo de espacio aislado. Si usted, el programador, está escribiendo un navegador web, entonces el sistema de memoria virtual, en sí mismo, no es un mecanismo de espacio aislado (diferentes perspectivas, verá). En cambio, es un mecanismo pontential para que implemente su sandbox para los complementos del navegador. Google Chrome es un ejemplo de un programa que utiliza el mecanismo de memoria virtual del sistema operativo para implementar su mecanismo de espacio aislado.
Pero la memoria virtual no es la única forma de implementar sandboxing.El lenguaje de programación tcl, por ejemplo, le permite crear instancias de intérpretes esclavos a través del comando interp. El intérprete esclavo se usa a menudo para implementar un sandbox ya que se ejecuta en un espacio global separado. Desde el punto de vista del sistema operativo, los dos intérpretes se ejecutan en el mismo espacio de memoria en un único proceso. Pero debido a que, en el nivel C, los dos intérpretes nunca comparten estructuras de datos (a menos que estén explícitamente programados) están efectivamente separados.
Ahora, el tercer concepto es la virtualización. Que está nuevamente separado de la memoria virtual y sandboxing. Mientras que la memoria virtual es un mecanismo que, desde la perspectiva del sistema operativo, los procesos de las cajas de arena se combinan entre sí, la virtualización es un mecanismo que permite que los sistemas operativos se quiebren entre sí. Ejemplo de software que hace esto incluye: Vmware, Parallels Desktop, Xen y kernel virtual machine.
¿Cómo comparamos estos dos conceptos con los complementos del navegador web y los navegadores específicos del sitio? Creo que los complementos de navegador siguen diferentes heurísticas que VM y sandboxing para su memoria y acceso. – RBT