虚拟内存系统

时间:2014-06-17 12:58:49

标签: c unix

我有一个虚拟内存系统,包括: -

• 32-bit virtual address
• 4-kbyte virtual page size
• 32-bit Page Table Entry (PTE)
• 2-Gbyte physical memory

我被要求查找系统中可用的物理帧数和页表的大小(以字节为单位)。

我找到了物理帧数量的答案,我认为是

physical memory/virtual page size

2^31/2^12 = 2^19 = 524,288

首先,我想知道这是否正确。

其次,我想以字节为单位计算页表的大小。

提前致谢。

1 个答案:

答案 0 :(得分:0)

LA(逻辑地址)= 32位
=> LAS(逻辑地址空间)= 2 32 字节
PA(物理地址)= 30位
=> PAS(物理地址空间)= 2 30 字节

我们知道,page size ==frame size

没有。 of pages =(LAS / page size)= 2 32-12 = 2 20 = 1 M页

没有。框架=(PAS /框架尺寸)= 2 30-12 = 2 18 框架

因为没有。页表中的条目数等于LAS中的页数 因此page table size = No. of entries * entry size
=> page table size = 2 20 * 4 Bytes = 2 22 字节。