页表项和页表的关系是:页表项是页表的其中一项。
一、页表、页表项
页表由多个页表项组成,即页表中每一行的就是一个页表项页表项中记录的信息。页框号:记录虚页面对应的具体哪个物理页面。有效位:标识该页表项对应的虚页面有没有读进内存,否则在磁盘。访问位:引用位,标识该页面有没有被访问过。
修改位:此页面在内存中有没有被修改过,如果被修改过,将来是要被持久化到磁盘上的,该标志位就是这个目的。保护位:标识该页面的读写等权限。页表项一般是由硬件设计的,因为地址转换时大多数是由硬件完成的。
二、页目录、多级目录
引出页目录:对于32位虚拟地址Q空间,假设页面大小为4K,页表项大小为4字节个进程有4G/4K=2^20个页面。因为一个页面需要一个页表项来对应。
所以,进程的页表项个数也为2^20个不难得出该进程的页表占用了2^20*4/4K=1024个页面的大小。对于64位的虚拟地址空间来讲,页表规模更大,理论值32000TB。
其实页表页就是存放进程页表的页面,他属于进程的一部分,页表也是以页为基本存储单位的。所以,为了内存的高效使用,一般都不会将这么大规模的页表页存放在连续的内存上。
所以,我们引入了页表页的地址索引表,页目录提供一个目录,这样就变成了一个二维的结构,甚至现在很多计算机有多维的页表结构,也叫多级页表。
1、通过CR3寄存器,我们得到了页目录的地址。
2、然后,根据虚拟地址的前10位,标识页目录中的偏移量,该偏移量对应的地址,保存的是页表的地址。
3、得到页表地址,根据页表偏移,再得到页表项地址,那么我们就可以看到对应的是哪个物理页面。
4、最后,根据物理页面的编号,访问物理页面,加上页内的偏移,就可以找到对应的数据或者指令。
本文地址: http://www.goggeous.com/20241223/1/910499
文章来源:天狐定制
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-29职业培训
2024-12-23 19:53:04职业培训
2024-12-23 19:52:58职业培训
2024-12-23 19:52:58职业培训
2024-12-23 19:52:53职业培训
2024-12-23 19:52:49职业培训
2024-12-23 19:52:48职业培训
2024-12-23 19:52:47职业培训
2024-12-23 19:52:46职业培训
2024-12-23 19:52:41职业培训
2024-12-23 19:52:38职业培训
2024-11-28 21:15职业培训
2024-12-23 09:06职业培训
2024-11-28 14:22职业培训
2024-12-22 21:03职业培训
2024-11-25 14:53职业培训
2024-12-07 06:18职业培训
2024-11-25 20:47职业培训
2024-12-22 19:23职业培训
2024-12-03 18:42职业培训
2024-12-18 19:03职业培训
扫码二维码
获取最新动态