code2012

加油,坚持,努力,自信
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

wrk 进程管理

Posted on 2014-01-03 18:05  code2012  阅读(317)  评论(0编辑  收藏  举报

 

 

 

4.3.1 

      四种情况创建新进程并调用MmInitializeProcessAddressSpace, 调用完这个函数的时候,一个进程的地址空间基本建立了,

      可执行文件的映像和ntdll.dll(内存区对象)已经被映射到恰当的虚拟地址范围内。

      介绍到 在新进程的地址空间中,会克隆系统空间的页目录到新进程的页目录.

  KeAttachProcess() 与 KeDetachProcess()

  KeAttachProcess()函数的执行的时候,会把当前线程附载在新的的进程对象上,关键是把CR3切换为新进程的页目录

      KeDetachProcess   把线程恢复到父进程!

4.3.2

     每个进程都有自己独立的页目录,前半部分对应于0x0 -- 0x7ff fffff 是每个进程私有的,后半部分是拷贝系统空间的页目录。

 

4.3.3 VAD来管理0x0 -- 0x7ff fffff 空间!

4.3.4  在VAD的节点中有一种重要的类型 内存区对象。 内存区对象是windows 平台 ,两个或多个进程之间共享内存的一种常用方法。

        它可以被映射到系统的页面文件或者其他文件上!

         内存区对象分种:一种建立在页面文件的基础上,称为:页面文件支撑的内存区

            另外一种被映射到其他文件,称为文件支撑的内存区,或者文件映射对象