几天前有人问我这个问题,但我在网上找不到详细的图像,无法显示创建进程时虚拟内存的样子。
比方说进程“ program.exe”已经创建。
您如何使用嵌入式图像描述内存布局?
您能否显示并描述此布局中的“ program.exe”本身在哪里,导入的DLL在哪里,堆,堆栈在哪里,内核中发生了什么等等?
我会为您提供尽可能详细的图像而感到高兴。
清除内存布局:
部分填充的内存布局(顺序并不重要):
答案 0 :(得分:0)
请参见this article中的下图:
内核内存与新进程无关。
与用户空间内存不同,在用户空间内存中每个进程都有自己的映射,而内核空间内存只有一个映射。当线程以内核模式运行时,无论它属于哪个进程,它始终会看到相同的地址空间。