На самом деле есть 3 концепции, которые вы тут путаете.Прежде всего, это то, что предоставляет ОС, и то, что она делает, - это разделяет пространство памяти для приложений, работающих параллельно.И она называется виртуальная память .
В Виртуальная память системы ОС отображает адрес памяти, видимый приложениями, в реальную физическую память.Таким образом, пространство памяти для приложений может быть разделено так, чтобы они никогда не сталкивались.
Второй - песочница.Это любая техника, которую вы, программист, используете для запуска ненадежного кода.Если вы, программист, пишете ОС, то с вашей точки зрения система виртуальной памяти, которую вы пишете, является механизмом песочницы.Если вы, программист, пишете веб-браузер, то система виртуальной памяти сама по себе не является механизмом песочницы (вы видите разные точки зрения).Напротив, это - потенциальный механизм для реализации вашей песочницы для плагинов браузера.Google Chrome - это пример программы, которая использует механизм виртуальной памяти ОС для реализации механизма песочницы.
Но виртуальная память - не единственный способ реализовать песочницу.Например, язык программирования tcl позволяет создавать экземпляры подчиненных интерпретаторов с помощью команды interp .Подчиненный интерпретатор часто используется для реализации песочницы, поскольку он работает в отдельном глобальном пространстве.С точки зрения ОС, два интерпретатора работают в одном и том же пространстве памяти в одном процессе.Но поскольку на уровне C два интерпретатора никогда не разделяют структуры данных (если они явно не запрограммированы), они эффективно разделены.
Теперь третье понятие - это виртуализация.Который снова отделен от виртуальной памяти и песочнице.В то время как виртуальная память представляет собой механизм, который с точки зрения ОС обрабатывает песочницы друг от друга, виртуализация - это механизм, который изолирует операционные системы друг от друга.Пример программного обеспечения, которое делает это: Vmware , Parallels Desktop , Xen и виртуальная машина ядра .