确定地址和页表大小

时间:2015-05-31 08:20:41

标签: operating-system size memory-address virtual-address-space page-tables

我知道这个问题已被多次询问,但我仍然觉得我很挣扎。

Given: 
physical memory: 2^20
32-bit system
page size: 2^10

我需要确定物理和虚拟地址的外观以及计算页面大小。

我不确定我所拥有的是正确的,但这是我到目前为止所得到的:

->Virtual address would look like (22 bits specifying page #)(10 bit specifying offset)
->Physical address would look like** (10 bits specifying frame #)(10 bits specifying offset)

页面条目数为2 ^ 20/2 ^ 10 = 2 ^ 10

如何计算页面大小?我很困惑,因为每个PTE都有虚拟和物理地址。它是页面条目数*(物理地址+虚拟地址)? 如果我设置了当前位,会有什么不同?

1 个答案:

答案 0 :(得分:1)

页面表的大小取决于您为每个条目保留的元数据位(有效脏等等。)

基本上大小为:int[]。 防爆。 (num_of_pages)*(num_of_bits_for_frame_number + meta_bits)