我对虚拟地址和物理地址感到困惑

时间:2016-03-21 03:25:35

标签: memory memory-management memory-address virtual-memory

多个虚拟地址可以映射到一个物理地址----来自维基百科。

如果我的代码段和数据段的基地址相同0,那么段如何映射到物理地址?

2 个答案:

答案 0 :(得分:1)

这是虚拟记忆的概念 用户流程分为多个页面 甚至主存也被分成许多帧,使得每帧的大小等于每页的大小。

运行流程时,不需要整个程序,只需要一些部分。因此,只有那些页面被加载到内存中,在那个时刻需要。以后当它们不需要时,它们会被其他页面替换。

现在,这个页面到主存储器中的帧的映射保存在一个名为Page Table的数据结构中。

CPU始终生成虚拟地址,内存管理单元使用页表将此地址转换为物理地址。

答案 1 :(得分:0)

从词汇表中获取片段。

物理内存分为页面框架。页面框架的大小会因系统而异,但通常介于512字节和4K字节之间。

每个进程都有一个由一系列页面组成的逻辑地址空间。页面大小与页面框架的大小相同。

每个进程都有一个PAGE TABLE,其中包含逻辑页面和物理页面框架之间的映射。

没有(操作系统除外)阻止多个页表条目映射到同一页面框架。