linux-进程的虚拟地址空间

进程是执行中的程序,每个进程拥有独立的虚拟地址空间,其大小由CPU位数决定。在Linux下,虚拟地址空间包括:1.内核空间,包含系统API;2.栈,存放局部变量;3.堆,灵活但速度较慢;4.bss,存储未初始化全局变量;5.data,存储已初始化全局变量和静态变量;6.加载共享库;7.命令行参数和环境变量。
摘要由CSDN通过智能技术生成

进程

是执行中的程序(程序是存储在磁盘上的二进制可执行文件,指令+数据)

在这里插入图片描述

虚拟地址空间

程序运行后进程拥有自己独立的虚拟空间

大小: CPU位数决定 如果32位是4G 指针大小与虚拟地址空间位数相同(寻址空间== 虚拟地址空间)
32 位平台 *p 32位==4byte 64位 *p 64位 == 8 byte

Linux下布局

在这里插入图片描述

在这里插入图片描述

1.内核空间
read fork open等(系统api),在内核空间(1G)
2
局部变量存放在栈中
栈内存区的地址是连续的,鲧统控制速度较快
3.
堆内存区的地址是不连续的,它是系统将空闲内存块链接起来的链表,用户new/malloc请求分配时,找到第一个满足大小要求的块从链表中删除此节点,然后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值