Linux内存在分配
发布时间
阅读量:
阅读量
1、Linux内存空间
Linux具有4GB的虚拟内存资源,并将其划分为两部分:一部分为4GB的可用区域(其中包含3GB用于用户程序运行),另一部分为1GB用于操作系统核心代码存储。在正常运行状态下,默认情况下所有程序均局限于使用自己的分区内存资源;然而,在特定条件下(如启动阶段或特殊任务场景下),这些限制会被解除以释放更多资源供程序使用
b. 用户空间由进程决定,在每当发生进程切换时会随之发生变化。而内核空间由内核负责映射关系,并不随进程中断而改变(保持固定不变)。每个进程中都有自己的页表区域,并且不同的进程中拥有独立的页表区域。
c.为了保护数据的安全,每个进程的用户空间都是完全独立、互不影响。
2、Linux内存空间分布图

3、各个地址空间的数据
栈 :保存局部变量、函数形参、自动变量。
堆 :保存由malloc、ralloc、calloc分配空间的变量。
bss段 :保存未初始化或初始化为0的全局变量。
rodata段 :在全局数据里保存常量。
data段 (静态数据区):保存初始化不为0的全局变量
全部评论 (0)
还没有任何评论哟~
