PTE和Windows缺页异常
Posted bcbobo21cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTE和Windows缺页异常相关的知识,希望对你有一定的参考价值。
页错误定义
当cpu执行进程的某个页面时,发现他要访问的页(虚拟地址的页)没有在物理内存中,而导致的中断(页错误)。
(一个可执行文件可能很大,放在磁盘上,由局部性原理一次只将其中一部分读进内存)
百度定义:指的是当软件试图访问已映射在虚拟地址空间中,但是目前并未被加载在物理内存中的一个分页时,由中央处理器的内存管理单元所发出的中断。
这个页错误定义应该就是缺页异常;
当CPU访问一个地址,其PTE的P位(页面有效位)为0,此时会产生缺页异常;
在windows中,缺页异常是时刻在发生的;
什么是PTE
PTE:二级页表中的表项,记录着每个虚拟页面的映射情况以及其他信息,又叫“映射描述符”;
页目录又叫一级页表、总页表,一个PDE数组,这个数组的大小刚好占据一个页面;
二级页表:一个PTE数组,这个数组的大小也刚好占据一个页面(进程有一个总页表+1024个二级页表);
PTE结构如下,一共有32位;
0: P位;
1:R/W位;
2:U/S位;
3:PWT位;
4:PCD位;
5:A位;
6:D位;
7:PAT位;
8:G位;
9到11:有效位;
12到31:页表基址;
以上是关于PTE和Windows缺页异常的主要内容,如果未能解决你的问题,请参考以下文章