我无法理解页面大小和页面表项大小之间的区别。
根据我的理解,Page size用于将Page表格划分为相等的no。名为Pages的块和相同的大小用于将主存储器划分为帧。
页面尺寸=框架尺寸。
抱歉画画技巧不佳。这是我对Page Table
的可视化Page Table Entry Size是每个页面条目占用的大小。所以,
页面表项大小=页面大小。
但是Page Table条目大小是由帧号中的位数计算的。
任何人都可以解释页面大小与页面表项大小的区别吗? 为什么页面表项大小是根据帧中的位数而不是页面计算的?
请帮我看一下页面表与所有上述组件的准确程度
答案 0 :(得分:0)
“页面大小=帧大小” 这是对的。 物理内存分为称为“页面帧”的块。 虚拟内存分为称为“页面”的块。 PTE包含页框的基地址,并根据偏移量确定实际地址。 请参阅了解Linux内核Ch。 2内存寻址。
答案 1 :(得分:0)
为什么页面表项大小是根据帧中的位数而不是页面计算的?
PAGE FRAME大小始终与PAGE大小相同。
任何人都可以解释页面大小与页面表项大小的区别吗?
PAGE TABLE ENTRY大小取决于PAGE大小,但不是由它计算的。
PAGE TABLE是一种定义进程逻辑地址空间的数据结构。进程地址空间由一组PAGES组成。页面的大小可以是2的任意倍数。我看到的最小页面大小是512字节,最大的页面大小可以是兆字节(或可能是千兆字节)。
PAGE TABLE由PAGE TABLE ENTRIES组成。 PAGE TABLE ENTRY描述进程的逻辑地址空间中的单个页面。 PAGE TABLE ENTRY标识逻辑页面映射到的物理页面框架以及页面的属性。
然后,PAGE TABLE ENTRY需要一些位来描述页面,并需要一些位来将页面映射到物理页面框架。
PAGE TABLE ENTRIES总是2的大小,通常为4,8或16字节长。因此,PAGE大小比PAGE TABLE ENTRIES大小大几个数量级。
用于将PAGE映射到PAGE FRAMES的位数是
maximum amount of physical memory / page size
更大的物理内存支持=>较大的页表条目。
更大的PAGE尺寸=>较小的页表条目。
如果系统想要使用512(2 ^ 9)字节PAGES支持2 ^ 32字节的内存,则在PAGE TABLE ENTRY中需要2 ^ 23位来将逻辑页映射到物理页帧。这将在32位PAGE TABLE ENTRY中为PAGE描述留下9位。
答案 2 :(得分:0)
1)页面大小由设计者确定,页面大小=框架大小
2)帧大小指定主内存被划分的每个块的大小。
3)每页存储的内容是一个帧的地址,在主存储器中是一个特定的帧。
4)然后,您存储在每页中的内容包含唯一寻址帧所需的位数,即(主存储器的大小/每页的大小)
->让我们考虑一个例子。 设物理地址为44位长 让CPU生成的逻辑地址为32位长 令每页大小为4KB(12位)
主存储器中有(2 ^ 44)/(2 ^ 12)帧 页面尺寸==框架尺寸
我们需要44-12 = 32位才能唯一地标识每个帧 因此,页表中的每个页必须能够存储32位。这称为页表条目的大小