虚拟内存和物理内存的区别

我们都知道,以前的计算机存储器空间很小,我们在运行计算机程序的时候物理寻址的范围非常有限。

比如,在 32 位的机器上,寻址范围只有 2 的 32 次方,也就是 4G。

并且,对于程序来说,这是固定的,我们可以想象一下,如果每开一个计算机进程就给它们分配 4G 的物理内存,那资源消耗就太大了。

图片[1]-虚拟内存和物理内存的区别-编程社

资源的利用率也是一个巨大的问题,没有分配到资源的进程就只能等待,当一个进程结束以后再把等待的进程装入内存,而这种频繁地装入内存操作效率也很低。

并且,由于指令都是可以访问物理内存的,那么任何进程都可以修改内存中其它进程的数据,甚至修改内核地址空间的数据,这是非常不安全的。

由于物理内存使用时,资源消耗大、利用率低及不安全的问题。因此,引入了虚拟内存

虚拟内存是计算机系统内存管理的一种技术,通过分配虚拟的逻辑内存地址,让每个应用程序都认为自己拥有连续可用的内存空间。

而实际上,这些内存空间通常是被分隔开的多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

© 版权声明
THE END
喜欢就支持一下吧
点赞81 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    暂无评论内容