【2020.12.31】进程的创建过程

进程内存空间地址划分

  1. 每个进程有4GB虚拟内存空间(实际只有2G:也就是低2G空间的用户模式区)。
  2. 进程的用户模式区低2G空间前64KB与后64KB是没有使用的。
  3. 每个进程的内核空间是同一份,是公用的。
分区x86 32位Windows
空指针赋值区0x00000000 - 0x0000FFFF
用户模式区(低2G)0X00010000 - 0x7FFEFFFF
64KB禁入区0x7FFF0000 - 0x7FFFFFFF
内核(高2G)0x80000000 - 0xFFFFFFFF

进程的创建过程

  • 任何进程都是别的进程创建的:CreateProcess()

  • 进程的创建过程:

  1. 映射EXE文件。

  2. 创建内核对象EPROCESS。

  3. 映射系统DLL(ntdll.dll)。

  4. 创建线程内核对象ETHREAD。

  5. 系统启动线程:

  6. 映射DLL(ntdll.LdrInitializeThunk)。

  7. 线程开始执行。

进程创建过程中,一定会创建一条线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值