2017-02-15 47 views
2

从我的理解来看,页面来自叠加层,这些叠加层是由虚拟内存生成的内存空间的集群。但我不明白什么框架或它们如何相关。虚拟页面和页面框架之间的区别?

任何人都可以解释什么页面和框架是如何工作的?

回答

8

框架或页面框架基本上是一个物理页面,它是主存储器中的一块存储器,而页面或虚拟页面尚未被映射到主存储器中的页面框架。

如果您有一个大小为1024字节的主内存,并且每页都是512字节。

然后你有2帧。

Frame 1: 0-511

Frame 2: 512-1023

虽然程序可能是更大的,有许多网页等待被带到一个框架来执行。

当需要执行时,程序的页面被带到主存储器中的空闲帧。请注意,程序的虚拟页面数可能比帧的总数多得多。 enter image description here

3

物理内存被组织到PAGE FRAMES中。页面帧的大小是2字节的幂,并且在不同的系统中有所不同。

逻辑内存被组织到PAGES中。页面的大小与页面框架相匹配。

逻辑地址被分成一个页面选择器和一个页面偏移量。

使用页表将逻辑页面映射到页面框架。页表的结构因系统而异。逻辑地址的页面选择器用作页面表的索引。

在大多数系统中,页表可以指定没有关联页面框架的有效逻辑地址。这是一个虚拟内存系统。如果应用程序试图访问这样的页面,则会触发页面错误异常。操作系统页面错误处理程序必须分配物理页面帧,使用辅助存储中的数据加载页面帧,更新页面表以将逻辑页面映射到新分配的物理页面帧,最后重新启动导致错误的指令。

操作系统管理页表。 CPU(对应用程序透明)将逻辑页面帧转换为使用页面表的物理页面帧。

+0

物理内存组织成*帧*和虚拟内存到*页*。 “页面框架”这个术语有点混乱,imo维基百科不应该提及它。 “页面框架”的真正含义是一块物理内存(相当于一个框架)。所以他们应该说“框架”,而不是“页面框架”。 –

相关问题