物理内存和虚拟内存

9 篇文章 0 订阅 ¥39.90 ¥99.00
本文探讨了计算机内存管理中的物理内存和虚拟内存。早期的内存操作直接涉及物理内存,随着程序规模增大,管理变得复杂。为解决这一问题,引入了基于局部性原理的解决方案:时间局部性和空间局部性。现在,每个进程都有独立的内存空间,即使不同进程访问相同地址也不会冲突,保障了系统的稳定运行。
摘要由CSDN通过智能技术生成

每一个电脑都有一个内存条,这块内存条插上电之后就可以存储数据了,它能容纳数据的大小就是计算机物理内存的大小。
在这里插入图片描述
在早期向内存中存储数据和读取数据都是直接操作物理内存的。但是这样我们需要规定好哪一个数据放在哪一个位置,比如a=1, 将a放在0x12这个位置,那么其它的变量就不可以放在这个位置了,当程序较大的时候,你很难确定这块内存是否被使用。这样会为我们制造很多的麻烦。

那么有没有好的解决方案呢? 当然是有的,这种解决方案叫做局部性原理, 局部性原理有两部份内容, 第一部分是时间的局部性,另外一部分是空间的局部性。

时间的局部性说的是: 访问过一次的内存可能在今后还会被再次访问,空间的局部性说的是如果一个内存被访问,那么它隔壁的内存也可能会在之后被访问。也就是将指令访问内存都是有一定倾向性的,那么我们就不需要那么多的物理内存了。

这个时候,CPU和系统这样做,每一个进程都创建一块内存,且每一块内存都是相互隔离的。这样在执行不同的进程时候, 即使访问了相同的地址那么我们没有什么事情,比如在进程A中有一个变量的地址是0x12,进程B也有一个变量的地址是0x12, 但是不会出现问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值