什么是进程?
- 进程是提供程序所需的资源,如:数据、代码等等
进程内存空间的地址划分
| 分区 | x86 32位Windows |
|---|---|
| 空指针赋值区 | 0x00000000-0x00000FFFF |
| 用户模式区 | 0x00010000-0x7FFEFFFFF |
| 64KB禁入区 | 0x7FFF0000-0x7FFFFFFFF |
| 内核 | 0x80000000-FFFFFFFFFFF |
进程的创建过程
- 任何进程都是别的进程创建的:CreateProcess()
- 过程
- 映射EXE文件
- 创建内核对象EPROCESS
- 映射系统DLL(ntdll.dll)
- 创建线程内核对象ETHREAD
- 系统启动线程
- 映射DLL(ntdll.LdrInitializeThunk)
- 线程开始执行
关于本文
由 GuQing 撰写,采用 CC BY-NC 4.0 许可协议。