在linux系统中,用户空间和内核空间所占的比例为3:1
在windows系统中,用户空间和内核空间所占的比例为2:2
下面以linux系统为例:
.text 指令段,也叫代码段,局部变量也是指令,但局部变量存储在栈上,当代码运行时才在栈中预留好的区域中开辟。
.data 数据段存储代码中的各种数据,包括已初始化且初始化不为0的全局变量、静态变量。
.bss 数据段存储代码中的各种数据,包括未初始化或初始化为0的全局变量、静态变量。
堆 动态申请空间时在堆中申请,需要手动释放,不释放会造成内存泄露。
栈 存储所有局部变量,函数的运行也需要在栈中开辟,由系统释放空间。