进程
是执行中的程序(程序是存储在磁盘上的二进制可执行文件,指令+数据)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901163302281.png#pic_center)
虚拟地址空间
程序运行后进程拥有自己独立的虚拟空间
大小: CPU位数决定 如果32位是4G 指针大小与虚拟地址空间位数相同(寻址空间== 虚拟地址空间)
32 位平台 *p 32位==4byte 64位 *p 64位 == 8 byte
Linux下布局
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901165350140.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTY3MjY3Nw==,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200901164634410.png#pic_center)
1.内核空间
read fork open等(系统api),在内核空间(1G)
2 栈
局部变量存放在栈中
栈内存区的地址是连续的,鲧统控制速度较快
3.堆
堆内存区的地址是不连续的