深入理解计算机系统只-虚拟存储2

本文阐述了虚拟页在主存中的状态判断、位置确定及缺页处理过程,重点介绍了页表功能及其在内存管理中的作用,详细解释了如何通过页表实现虚拟页在主存与磁盘间的高效切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虚拟页有三个状态:为分配;未缓存;缓存。那系统怎么判断虚拟页是否在主存中?判断后,
还要确定这个虚拟页在主存中那个位置?如果虚拟页没有命中,系统还要判断该虚拟页在磁盘那个位置,然后进行替换?
要完成这些,需要借助页表功能。页表就是由PTE(page talbe entry)组成的数组。PTE一般由
一个有效位,读写使能位,监控位和几个字节组成,有效位表示该虚拟页当前是否缓存。如果有效,那么PTE中的地址地段就指向缓存(主存)中物理页
的起始地址。这点很重要,记住是物理页的起始地址,不是某个字节地址或则页内偏移地址。
所谓缺页就是DRAM缓存不命中。缺页触发一个异常,内核会调用一个程序来把磁盘上的虚拟页拷到
主存中,同时修改PTE相应的内容。注意,这一过程会把某些PTE换出,也叫牺牲页。再内核完成
这些动作后,再发起读就肯定命中了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值