PDE与PTE

在这里插入图片描述

关于4GB

一个程序的最大寻址范围4GB怎么来的?
答案是PTE的前20位+线性地址的最后12位得到的寻址范围(32位)就是4GB

PTT 页表 (大小4KB),页表里面是页表项,记录的是页的开始位置。
PDE就是页表的基址。
PTD是页的基址。

CR3里面存放的PDT是物理地址,代码无法访问,要访问PDT的基址用C0003000

实验 向0地址写入数据

实验代码


#include "stdafx.h"
#include <windows.h>
void main()
{

  getchar();
 *(int*)0=100;
  printf("address 0 =%d\n",*(int*)0);
 Sleep(20000);
}


给0地址挂载物理页
在这里插入图片描述
在这里插入图片描述
运行后物理地址成功被写入值。

猜你喜欢

转载自blog.csdn.net/qq_41490873/article/details/89792188