进程
是执行中的程序(程序是存储在磁盘上的二进制可执行文件,指令+数据)
虚拟地址空间
程序运行后进程拥有自己独立的虚拟空间
大小: CPU位数决定 如果32位是4G 指针大小与虚拟地址空间位数相同(寻址空间== 虚拟地址空间)
32 位平台 *p 32位==4byte 64位 *p 64位 == 8 byte
Linux下布局
1.内核空间
read fork open等(系统api),在内核空间(1G)
2 栈
局部变量存放在栈中
栈内存区的地址是连续的,鲧统控制速度较快
3.堆
堆内存区的地址是不连续的,它是系统将空闲内存块链接起来的链表,用户new/malloc请求分配时,找到第一个满足大小要求的块从链表中删除此节点,然后