进程虚拟内存

2020-05-18  本文已影响0人  傀儡世界

Linux虚拟内存空间分布
Linux虚拟内存空间描述
linux进程虚拟内存

.text(代码段)
可执行文件加载到内存中的只有数据和指令之分,而指令被存放在.text段中,一般是共享的,编译时确定,只读,不允许修改

.data
存放在编译阶段(而非运行时)就能确定的数据,可读可写。也就是通常所说的静态存储区,赋了初值的全局变量和赋初值的静态变量存放在这个区域,常量也存放在这个区域

.bss段
通常用来存放程序中未初始化以及初始化为0的全局/静态变量的一块内存区域,在程序载入时由内核清0

.heap(堆)
用于存放进程运行时动态分配的内存,可动态扩张或缩减,这块内存由程序员自己管理,通过malloc/new可以申请内存,free/delete用来释放内存,heap的地址从低向高扩展,是不连续的空间

.stack(栈)
记录函数调用过程相关的维护性信息,栈的地址从高地址向低地址扩展,是连续的内存区域

image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读