内存大小,页表项长度,页面大小之间的关系

每个页表项代表一个页面的地址,一般很小。 假设内存大小是2GB,页面大小(物理块)是4KB,页表项长度是4B。(规定好的) 则整个内存可以被划分成2GB/4KB=512K个页面。
页表的长度=页表项的长度x页面的个数=4Bx512K=2M。 内存中用2M的大小来存放页表。 页号是隐藏的,因为页号是0,1,2,3...n,有规律的递增数列,所以在页表其实类似于一维数组,必须连续存储,页号就是下标,数据就是对应的内存块号,只要知道首地址,就可以查到第n块页号在内存中的位置,进而找到它对应的内存块号
页表项大小类似于int a[]数组,每个a[i]中最大为int大小,在计算机中大小为2^32,那么它的长度是32,长度指的是二级制的位数

页表项的大小怎么确定 页表项是用来存放逻辑页号 -> 物理块号的映射的,即查找该页在内存中的位置。 for example:   32位逻辑空间,字节为编址单位,一页是 4KB,总共有 2 32B / 4KB = 1 M 页 = 220,也就说需要20位才能保证范围能容纳到所有页面。 又因为以字节为单位,所以至少是 24位,3B。只是说至少3B,也可以4B,5B...满足最低要求即可

posted @ 2022-05-23 09:16  扣篮的猫  阅读(4046)  评论(0)    收藏  举报