虚拟地址空间的布局

3G用户空间

保留区:位于虚拟地址空间的底层,存放的C的库,不可访问 大小为128M

. text 存放程序执行代码,也叫代码段(可读、可执行)

. data 数据段,用来存放已初始化且初始化不为0的全局变量和静态局部变量  (可读、可写)

. bss 未初始化数据段,用来存放未初始化或者初始化为0的全局变量和静态局部变量

 栈 又称堆栈,由编译器自动分配释放

  • 用函数内部声明的非静态局部变量提供空间
  • 记录函数调用过程中相关的维护信息
  • 临时存储区,用于暂时存储长算式表达式部分计算结果或alloc()函数分配的栈内内存

用于存放程序运行时动态分配的内存段,可以动态的扩张或缩减。堆中内容是匿名的,不能按名字直接访问,只能通过指针间接访问。当进程调用malloc(C)/new(C++)等函数分配内存时,新分配的内存动态添加到堆上(扩张);当调用free(C)/delete(C++)等函数释放内存时,被释放的内存从堆中剔除(缩减) 

共享库:存放的C的库,防止保留区不够大

1G内核空间

ZONE_DMA  直接内存访问区,CPU直接访问,不用通过寄存器提高了CUP的效率

ZONE_NORMAL 常用内存,虚拟地址空间与内存的映射关系,PCB就在这里

ZONE_HIGHMEM  高端内存,内核中映射文件超过1G时使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值