行业新闻
全部
公司动态
行业新闻
方案中心
当前位置:首页 / 文章中心 / 行业新闻 / 虚拟内存转换为物理内存的思路

虚拟内存转换为物理内存的思路

发布时间:2022-04-21 点击数:339

什么是虚拟内存?

虚拟内存是操作系统管理内存的一种技术,它使应用程序有一段连续可用的地址空间的假象,实际上是很多个物理内存碎片,它可以使应用程序拥有比实际物理内存更大的逻辑内存,实际上上将程序中不需要的数据放到硬盘上,需要时在进行数据交换。


主要原理:每个进程拥有独立地址空间,这个地址空间被分多个大小相等的快,称为页,这些页被映射到物理内存,但不需要映射的连续的物理内存,也不需要所有页都必须在物理内存中。当程序引用到不在物理内存中的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败的指令。


虚拟内存如何转换成物理内存

虚拟地址通过mmu(内存管理单元)进行物理地址和虚拟地址的转化。其中每个进程都有一个也表里面映射着页号与帧号,通过页号查询到帧号,cpu判断当前的帧号是否访问越界,如果是就中断,否则就通过页内偏移量和帧号计算出物理地址。但是这样访问速度较慢,所以MMU里面就会有TLB,可以看成是个缓存,操作系统会先查TLB中虚拟地址与物理地址的映射,如果有的话,就不要查页表了,否则查询页表,然后更新TLB的数据。


  • 联系电话:15723331577
  • 电子邮箱:647979567@qq.com
  • 传真号码:15723331577 微信
  • 公司地址:重庆市沙坪坝区新桥街道沙坪坝区凤鸣山307号附54号6-34