2.物理内存的管理

物理内存最大物理内存10-10-12分页 最多识别物理内存为4GB2-9-9-12分页 最多识别物理内存为64GB操作系统的 _ExVerifySuite() 函数限制了它无法超越4GB(网上有补丁可以突破4GB)实际物理内存MmNumberOfPhysicalPages * 4 = 物理内存一共有7FF6C个物理页,乘4后得到的就是 KB。物理内存管理全局数组数...
摘要由CSDN通过智能技术生成
物理内存

最大物理内存

10-10-12分页  最多识别物理内存为4GB
2-9-9-12分页  最多识别物理内存为64GB

操作系统的 _ExVerifySuite() 函数限制了它无法超越4GB(网上有补丁可以突破4GB)

实际物理内存

MmNumberOfPhysicalPages * 4 = 物理内存

在这里插入图片描述
一共有7FF6C个物理页,乘4后得到的就是 KB。

在这里插入图片描述

物理内存管理

全局数组

数组指针:_MMPFN* MmPfnDatabase	
数组长度:MmNumberOfPhysicalPages(上面已经演示过了)

在这里插入图片描述
80c86000 ~ (80c86000+0x18)描述的就是第一个物理页的信息,
80c8601C ~ (80c86000+0x18)描述的就是第二个物理页的信息,以此类推…

如果我们想找0x8000物理地址对应的物理页,用0x8000除0x1000(一页1000h),得到的就是索引,
80c86000+1c*索引 == 这个物理页对应的_MMPFN结构

数组成员(PFN数据库)

kd> dt _MMPFN
nt!_MMPFN
   +0x000 u1               : __unnamed
   +0x004 PteAddress       : Ptr32 _MMPTE
   +0x008 u2               : __unnamed
   +0x00c u3               : __unnamed
   +0x010 OriginalPte      : _MMPTE
   +0x018 u4               : __unnamed

typedef stru
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值