进程空间
首先认识进程和程序的区别
1、程序:源文件经过编译,生成可执行文件,一般window下是*.exe文件,linux下是a.out。程序是静态的。程序包含3个区域,text,inial data, uinial data。
2、进程:被操作系统加载到内存至运行结束的过程。进程是动态的。进程包含5个区域,text,inial data, uinial data,heap,stack。
通过下面这这张图可以更清晰的认识,进程和程序的区别。
接下来是分析进程空间简概图
1、图片标注的0-4G指的是操作系统分配给进程空间的虚拟内存大小,虚拟内存会通过内存管理单元(MMU)映射到实际的物理内存单元。
2、进程空间的每个段存储的内容详解看下一张图。