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