2016-09-22 258 views
1

我无法理解页面大小和页面表项大小之间的差异。页面大小和页面表项大小有什么区别

从我的理解,页面大小是用来划分页表在等于no。称为Pages的块和相同的大小用于将主存储器划分为多个帧。

页面大小=帧大小。

对不起,绘画技巧。这是我的页表

enter image description here

凡为页表项大小是由每个页面项所占用的大小的可视化。所以,

Page Table Entry Size = Page Size。

但是,页表条目大小是通过帧号中的位数来计算的。

任何人都可以请解释页面大小如何不同页面表条目大小? 为什么页表条目大小是根据帧中的位数而不是页面计算的?

请帮我想象的页表将如何精确与所有上述组件

回答

0

“页面尺寸=外形尺寸” 这是正确的。物理内存被分成称为“页面框架”的块。虚拟内存被分成称为“页面”的块。 PTE包含页框的基地址,并根据偏移量决定实际地址。 请参阅了解Linux内核章节。 2内存寻址。

Explained here in Fig-3.1

0

为什么页表项大小计算对位的筑底号在框架,而不是页面?

PAGE FRAME大小始终与PAGE大小相同。

任何人都可以请解释页面大小如何不同页面表条目大小?

PAGE TABLE ENTRY大小取决于PAGE大小,但不是从它计算出来的。

PAGE PAGE是定义进程逻辑地址空间的数据结构。进程地址空间由一组PAGES组成。页面的大小可以是2的任意倍数。我看到的最小页面大小是512字节,最大可以是兆字节(或可能是千兆字节)。

PAGE TABLE由PAGE TABLE ENTRIES组成。 PAGE TABLE ENTRY描述了进程逻辑地址空间中的单个页面。 PAGE TABLE ENTRY标识逻辑页面映射到的物理页面框架和页面的属性。

PAGE PAGE ENTRY然后需要一定数量的位来描述页面和一些位数来将页面映射到物理页面框架。

PAGE TABLE ENTRIES的大小通常为2,通常为4,8或16个字节。因此页面大小比PAGE TABLE ENTRIES大小大几个数量级。

用于PAGE映射到页面帧的比特的数量是

maximum amount of physical memory/page size 

更大的物理存储器支持=>更大的页表条目。

较大的页面大小=>较小的页面表项。

如果系统想要使用512(2^9)个字节的PAGES支持2^32个字节的内存,则它在PAGE TABLE ENTRY中需要2^23个位来将逻辑页面映射到物理页面框架。这将在32位PAGE TABLE ENTRY中为PAGE描述留下9位。