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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值