VC++技术内幕里德一个问题
发布网友
发布时间:2024-07-22 16:18
我来回答
共1个回答
热心网友
时间:2024-08-04 10:28
第一,页表占用21到12位的意思是:
21-12为保存的是页表中虚拟内存页入口地址的地址(就是这个32位入口地址在页表的第几个 ),因为21-12一共有10位所以一个页表最多保存1024个虚拟地址,但每个地址还是20+12的格式。
第二,页内偏移量就是实际要读的内存相对于在页表中查到页的基址的偏移量,就是把虚拟内存入口地址的符号位替换掉得到的物理地址,这个地址就是对应数据的地址了。这个地址的空格键是4KB
第三、因为每个进程只能分配一个目录,所以31-22位不能寻址,进程的地址空间就是21-0共22位,是4M(5M可能是按1000算的)