虚拟地址中:.data段和.bss段
.data段:为数据段,用来存放程序中已初始化并且初始化不为0的全局变量和静态局部变量,数据段属于静态内存分布,可读可写。
.bss段:称为未初始化段,用来存放未初始化或者初始化为0的全局变量和静态局部变量。
bss段不占用物理文件尺寸,但占用内存空间;data段占用物理文件,也占用内存空间。
当程序读取data段的数据时,系统会发生缺页中断,从而分配相应的物理内存;当程序读取bss段的数据段时,内核会将其转到一个全零页面,不会发生缺页中断,也不会为其分配相应的物理内存。