我认为他们可能会覆盖彼此的数据。我知道两个相同的虚拟地址空间可以映射到物理内存。
问问题
1802 次
2 回答
1
A. 大多数多处理系统支持创建共享内存,其中物理内存块可以映射到多个进程。通常,映射可以是不同的虚拟地址。
B. 所有虚拟内存系统共享相同的物理内存。但是,在用户态下,同一页物理内存不能同时映射到多个进程。
C。所有进程的内核模式地址空间通常是相同的。操作系统维护该内存区域以防止覆盖。
于 2014-05-12T04:19:34.453 回答
0
这个问题不是很清楚。
假设标准硬件,虚拟地址空间由其页面转换表确定。因此,如果有两个转换表,并且它们的条目具有相同的物理页号,那么您在两个虚拟空间中的页都使用相同的物理页。
如果上述情况适用于转换表中的所有条目,您会得到两个地址空间映射到相同的物理范围。
问题是为什么要这样。
如果您希望两个不同的进程在此配置中实际工作,那么它们不能并行运行(即,在两个 CPU 上)。更糟糕的是,在计划进程 1 之前,必须确保进程 1 内存的内容就位。这可能需要复制出 process2 内存内容(到不同的内存地址、磁盘或其他)并将 process1 内存的内容复制回。
于 2014-05-13T15:43:56.220 回答