程序存储在disk,在32位系统下,虚拟地址空间最大4G,但是不是每个地址都存储程序片段。上图左侧是一整个虚拟地址空间,没有程序片段的地址空间称为Unallocated;有程序片段,并且缓存到DRAM称为Cached;有程序片段但没有缓存到DRAM称为Uncached。
上图左侧是一个页表,如果是unallocated,在页表对应的就是Null;VP 3 和VP 6片段是Uncached,在页表项对应的Valid位就是0;VP 1等片段是Cached,在页表项对应的Valid位就是1。
当CPU要访问PTE3对应的内容,发现其Valid位是0,CPU就会触发page fault exception,调用操作系统提供的page fault exception处理函数,把PTE3对应的VP 3搬移到DRAM,然后更新PTE3的Valid位,如下图。
标签:片段,PTE3,VP,Valid,页表,DRAM,缺页,异常 From: https://www.cnblogs.com/god-of-death/p/16983958.html