Operating system 页面中的偏移量和条目数有什么区别?
假设一台机器有38位虚拟地址和32位物理地址 (b) 对于两级页表、16 KB页和4字节条目,应为顶级页表字段分配多少位,为下一级页表字段分配多少位?解释一下 答案如下: 偏移量字段需要14位来寻址16 KB。这就为页面字段留下了24位。由于每个条目有4个字节,一个页面可以容纳16KB/4字节=2^12 因此,页表条目和需要12位来索引一页。因此,为每个分配12位 所有页面字段的地址都是2^38字节Operating system 页面中的偏移量和条目数有什么区别?,operating-system,paging,Operating System,Paging,假设一台机器有38位虚拟地址和32位物理地址 (b) 对于两级页表、16 KB页和4字节条目,应为顶级页表字段分配多少位,为下一级页表字段分配多少位?解释一下 答案如下: 偏移量字段需要14位来寻址16 KB。这就为页面字段留下了24位。由于每个条目有4个字节,一个页面可以容纳16KB/4字节=2^12 因此,页表条目和需要12位来索引一页。因此,为每个分配12位 所有页面字段的地址都是2^38字节 我不太明白,如果我们有偏移量14位,用来在页面内寻址,那么什么是一个页面可以容纳16KB/4字
我不太明白,如果我们有偏移量14位,用来在页面内寻址,那么什么是一个页面可以容纳16KB/4字节=2^12?另一个偏移量?回答原始问题:
不,它不是第二个偏移量,只是用作第二级页面表中的索引。前12位用作第一级中条目的索引,第二12位用作第二页表中的索引
- 38位虚拟地址
- 16KB页面大小
- 32位物理地址
16KB
的页面,它将有多少个条目16K/4=4K条目
PAGE:
0x000 entry 1
0x001
0x002
0x003
-----------------
0x004 entry 2
0x005
0x006
0x007
------------------
. entry 3
.
.
.
------------------
0xFFC entry 4096 (NOTE! 4K = 4096 as its 2^12)
0xFFD
0xFFE
0xFFF
------------------
现在,如果我们将页面的24位分成两半,12位用于第一级页面,12位用于第二级页面。我们能写多少页
第一级有2^12
不同的页面,其中每个入口指向第二级页面表。第二级页面表也有2^12个条目,每个条目指向一个大小为16KB的框架
(2^12)*(2^12)*(2^14) = 2^38
使用此两级页面表格,您可以寻址2^38个虚拟地址。@Cubancoffee我想我可能是单击错误或出错了。。。它应该是
2^12*2^12*2^14=2^38
。第一级有2^12个条目,第二级也有2^12个条目。将它们乘以页面大小。