【c++】虚拟地址空间的布局

每一个程序运行都会有一个虚拟地址空间

1.虚拟地址空间有多大?

CPU的位数有关(ALU的宽度,数据总线的条数)  x86 32bit Linux内核(4G)

2.为什么是数据总线的条数?

16CPU 数据总线:16 地址总线:20

8CPU  数据总线:8  地址总线:16

.bss 未初始化和初始化为0的全局变量和静态变量

.data已初始化且初始化不为0的全局变量和静态变量

stack 局部变量

 

 

 

.

.text  .data  .bss 大小不变

内核空间:

ZONE_DMA:直接内存访问,加快磁盘和内存之间交换数据

ZONE_NORMAL:内存由内核直接映射到线性地址空间的较高部分

ZONE_HIGHMEM:高于1G,高端内存(64位不需要)

用户空间独立的,内核空间共享的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值