内存管理(3)用户空间内存管理&内存区对象

本文深入探讨了用户空间的内存管理,重点解析了EPROCESS中的VadRoot结构,以及内存区对象在这一过程中的作用。通过理解VadRoot的实际节点结构,读者可以更好地掌握内存分配和管理的细节。
摘要由CSDN通过智能技术生成
进程内存管理
MmCreateProcessAddressSpace 初始化进程的系统空间部分
1.先做一些检查,检查系统是否有足够的页面

2.申请四个物理页面分别用于:页目录,超空间页表,VAD位图,工作集链表

3.初始化EPROCESS中的一些结构_MMSUPPORT Vm.MinimumWorkingSetSize; DirectoryTableBase WorkingSetPage

4.利用系统PTE映射超空间页表 在超空间页表页中配置相应VAD位图和工作集链表的页表 完成之后释放PTE

5.在PFN数据库中设置页目录PTE

6.将进程插入MmProcessList 有独立进程空间的进程0都在这个链表中有所体现

7.初始化页目录(利用PTE映射),系统空间的PTE直接复制,映射超空间部分中的第一个PDE,0xc0000000页目录指向自己(自映射),物理页面开销记录,然后释放PTE映射

8.MiSessionAddProcess 将新进程加入到父进程的会话空间中 就是MmSessionSpace,更新会话的进程计数器和会话空间的进程链表。

MmInitializeProcessAddressSpace 初始化进程的用户空间部分,父进程调用

1.判断是否需要更新新进程的系统PDE
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值