虚拟内存-什么是虚拟内存

news/2024/12/22 19:56:08/

操作系统不仅会将CPU虚拟化还会将内存虚拟化,使得进程接触到的内存地址都是逻辑地址并不能直接访问到物理地址,这样做使得进程对内存的访问是变得易于使用、可控和安全的。

一、什么是虚拟内存

虚拟内存就是操作系统对于内存管理的一种方式,是对程序的一种“欺骗”使得程序以为自己拥有一块很大且连续的空间,虚拟内存系统将虚拟地址也就是逻辑地址通过专门的硬件,得到每一个虚拟内存的索引最后转换为物理地址。这整个过程需要大量的机制和一些策略来实现的。

二、为什么要虚拟化内存

早期的计算机系统中没有对内存的虚拟化就导致和一系列的麻烦出现。

早期由于机器昂贵为了有效地使用机器人就出现了多道程序、和分分时复用,有一种实现分时复用的方法就是使得这个程序自己独占整个内存当他运行到一段时间之后停止他的时候就将他的状态信息都保存在磁盘上,再从磁盘中加载下一个运行的程序虽然保存和恢复寄存器级的状态信息相对于其他会较快,但是全部保存到磁盘就太慢了所以在进程切换的时候将进程信息放置在内存会更加有效率。但是这又会带来另一个问题。

f8323db19bca4a808b20427f99407df6.png

内存总共有256Mb操作系统需要64Mb 程序A要11Mb程序B要125Mb如果它就按照这个顺序来加载到内存的话就会导致进程的地址空间不是隔离的由于他们是可以直接访问内存如果某一个程序出现错误修改了其他进程的数据导致其他程序出现异常,或者是某些恶意软件就可以随意修改其他程序的数据这都是不好的。

其次就是内存的管理也会很麻烦就例如如果这时候再来一个程序C要使用60Mb这个内存应该怎么分配这就不太好弄了这会导致程序运行时的地址不确定

如果这么使用内存的话还会导致内存的使用效率低的问题。

所以虚拟内存通过硬件和机制来解决这些问题。

三、虚拟内存系统管理过程

最开始由操作系统内核为程序分配虚拟内存,在程序编译的时候会为一些变量分配地址例如全局变量,这时候得到的就是逻辑地址。之后将程序加载到内存中运行时CPU处理就会将拿着这个虚拟地址去寻找,这时候就需要地址转换了如果是分页式的话通过页表或者快速地址转换(TLB)得到页编号最后得到地址,如果发现对应的页表中的地址没有加载到内存中就会通过页面置换算法将别的页面重写到磁盘中或者是直接覆盖,如果在内存就通过得到的地址直接访问。

四、使用虚拟内存有什么好处

1.虚拟虚拟内存解决了上面的问题。

2.在现代操作系统中程序的内存使用也变得越来越大了这时候虚拟内存的作用就显现出来了由于虚拟内存机制(分段、分页、页面置换等等)的原因使得虚拟内存可以将磁盘当作内存的一部分,在程序运行时还不需要的数据放在磁盘中。

 

Ps.这是我自己在学习过程中的一些了解如果有那里错的希望指出,关于虚拟内存的介绍后面会从其他方面详细的说,其实写博客就是想督促自己学习。

 

 

 


http://www.ppmy.cn/news/421291.html

相关文章

小技巧| 电脑经内存不够用,教你如何设置虚拟内存

作者丨Caesar 来源丨手机电脑双黑客 https://mp.weixin.qq.com/s/RrP_c9cQCZnLR1VqtbWKZg 最近,Caesar非常生气,明明8G内存的电脑,吃鸡游戏玩着玩着就爆内存,隔个十几分钟就要重启游戏,忍不住想要摔电脑。经过我的仔细…

虚拟内存(Virtual Memory)

文章目录 1、什么是虚拟内存(Virtual Memory)2、局部性原理3、虚拟存储器4、虚拟内存的技术实现4.1 虚拟内存的实现有三种方式4.1.1 请求分页存储管理4.1.2 请求分段存储管理4.1.3 请求段页式存储管理 4.2 请求分页与分页存储管理,两者有何异同 5、页面置换算法 1、…

虚拟内存解决内存不够

内存不够最好的办法是,再买一块内存加到电脑里。 但是,买不了内存的情况下,怎么办 !? 还是再努努力协调一下,买一块吧, 可是但是可但是,实在没有办法的情况下,怎么办 !? 真的是没有办法的…

记录一下RocketMQ中遇见的 连环大坑!!!差点没把我摔死

目录 环境:Win10 , 不是 linux 首先我遇见的第一个问题是: No route info of this topic 问题原因: PS: 64位系统环境下,如果软件在安装时安装路径默认c:\progarmfiles即为64位,默认c:\pr…

挖掘用户真实需求 避坑5大技巧

1、用户总是“说一套 做一套” 在进行需求市场调研时,我们问1000个用户,是否想要黄金,几乎所有的用户都是肯定的回答。如果我们以此认定,黄金是用户的真实需求会过于草率。 我们需继续追问用户:买黄金做什么&#xff1…

离散数学题目收集整理练习(期末过关进度40%)

✨博主:命运之光 🦄专栏:离散数学考前复习(知识点题) 🍓专栏:概率论期末速成(一套卷) 🐳专栏:数字电路考前复习 ✨博主的其他文章:点击…

笔记本计算机作文,我的笔记本电脑作文600字

我有一个漂亮的电脑,它不仅外观精美,而且功能齐全,这可是我九岁生日时爸爸送给我的。 我的笔记本电脑是粉色的,表面上贴着一张张美丽的贴画,看起来真是漂亮极了,打开它之后,你就会看到粉色的世界…

十大笔记本品牌型号命名规则【华硕】

华硕笔记本的型号命名规则 在所有笔记本品牌中,华硕的型号命名方式可能是最冗长、而且最难于记忆的,但与此同时,它也是最有参考价值的,因为每个型号都会对应一款固定配置的机型。 有些品牌的笔记本是型号不变,但不知什…