自映射分析与解题
自映射的分析
- 原理图
(未产生自映射的版本)
(产生了自映射的版本)
注意:
自映射的基本条件为:页表项的数目(页表块/页表项大小)== 物理块个数(物理内存/物理块大小)。同时还得保证页表连续存储,如果采用非自映射的多级页表机制,那么不必要求页表存储连续,在一定程度上比自映射更具有灵活性。
自映射的解题
解析:
-
页表基址: 4M对齐这要求很合理,因为只有在对齐条件下才能保证页表独占一整块,页表项才会映射到页表块。
取页表基址操作即清空低22位(保证4MB对齐)
-
页目录表基址:给了页表块基址,页表块大小为4MB,所以PT>>22为页表块是第几块,由于每一块都被一个页表项映射,所以页表项是第几项和页表块是第几块是一个意思。由于一个页表项大小为4KB,所以PD-PT=(PT>>22)<<12=PT>>10 ,所以PD=PT+PT>>10
-
自映射页目录项:在页表项内第几项和页表块第几块也是一个意思,所以PDE=PD+(PT)>>22<<2 = PD+PT>>20