Linux——进程地址空间

1.什么是进程地址空间

1.如下图所示,就是我们的进程地址空间概念图,从下至上依次是,代码区、常量区、全局数据区、堆区、共享区、栈区、命令行参数环境变量区、堆区。从下至上地址逐渐增加,可以通过编写程序来进行验证;
在这里插入图片描述
2.进程并不是一直占用所有的地址空间资源,地址空间是进程的活动范围

再来打个比方,你家里有个一万平的院子,这个院子就是你的活动范围,有游泳区,美食区,休闲区,运动区,这些区域都是你的活动范围,但是你并不是随时随地都在使用这些地方。

进程地址空间就相当于院子,进程就是人,进程地址空间衡量了一段内存空间,这段空间是当前进程的活动范围,但是并不代表进程占有全部资源;
进程就和人一样,会在一些不同的时间点干一些事情,比如访问代码区,修改全局变量等等

3.进程地址空间是虚拟地址空间,不是物理地址空间,在语言上打印出来的地址叫做虚拟地址,虚拟空间最终以一种方法转化到物理内存上(OS负责将虚拟地址转化为物理地址)
在这里插入图片描述

在这里插入图片描述

2.为什么要有进程地址空间

通过虚拟化内存将空间连续化
通过映射关系以及页表的权限来保护内存,如果OS发现进程的越界等触发权限的危险操作会直接终止进程

2.1直接在物理内存上进行数据存储的危害

在这里插入图片描述

2.2解决的办法

在这里插入图片描述

3.管理进程地址空间

每个进程都有一个对应的地址空间,OS的本职就是管理,同样需要将进程地址空间管理起来。
管理地址空间,同样是先描述,在组织。
在这里插入图片描述

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值