Linux C内存模型及管理

1、Linux size命令用法

在Linux中,size命令可以用于分析可执行程序内存的分布段。


可以看到有text、data、bss、dec、hex filename五个组成部分。

各个段的作用如下:

1、文本段:包含程序的指令,它在程序的执行过程中一般不会改变。

2、数据段:包含了经过初始化的全局变量和静态变量,以及他们的值。

3、BSS段:包含未经初始化的全局变量和静态变量。

4、堆栈段:包含了函数内部声明的局部变量。


文本段 text:包含程序的指令,它在程序的执行过程中一般不会改变(包括字符串等常量)。

数据段 data:包含经过初始化全局变量静态变量,以及他们的值。

文字常量区 bss:包含未经初始化全局变量静态变量

另外:堆栈段:包含了函数内部声明的局部变量。(并非dec)


2、进程是Linux最小的资源管理单元。运行程序时,首先创建一个进程。

内核空间。PCB属于内核空间,负责管理进程的所有资源,譬如mm_struct、打开的文件、信号等等。

用户空间

mm_struct是一个指针,管理的是内存资源,也就是之前提到的text、data、bss、堆、栈。

其中text、data、bss属于静态空间

堆、栈、mmap属于动态空间


3、proc是linux下虚拟的文件系统。可以得到系统的参数,如meminfo。proc下有很多数字命名的文件夹,实际上代表作着一个个进程。proc下有一个文件夹叫做map。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值