作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
也许我遗漏了一些东西,但沙盒和虚拟化并不完全相同
概念,即为并行运行的应用程序分离内存空间。所以我想知道为什么他们有不同的名字,可能有不同的方式
他们有工作吗?
非常感谢,
西蒙
最佳答案
这些概念解决了不同的问题: 当我们进行虚拟化时,我们隐藏了机器的物理限制。另一方面,沙盒对跨机器的访问设置了人为限制。将内存视为具有代表性的类比。
内存虚拟化是允许每个程序访问 32 位或 64 位空间中的每个地址,即使没有那么多物理 RAM。
内存沙盒是为了防止一个程序看到另一个程序的数据,即使它们可能占用内存中的相邻单元格。
这两个概念在虚拟内存的常见实现中肯定是相关的。然而,这是实现的一个方便的工件,因为硬件页表只能由内核访问。
考虑如何在 x86 机器上单独实现它们:您可以使用页表隔离程序的内存,而无需交换到磁盘(没有虚拟化的沙盒)。或者,您可以实现完整的虚拟内存,但也可以提供对硬件页表的应用程序级访问权限,以便他们可以看到他们想要的任何内容(没有沙盒的虚拟化)。
关于memory-management - 沙盒与虚拟化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694981/
我是一名优秀的程序员,十分优秀!