美文网首页
虚拟内存(VM)

虚拟内存(VM)

作者: 我就是我啊 | 来源:发表于2019-01-13 20:22 被阅读0次

  虚拟存储出现的动机:把程序员从大量繁琐的存储管理工作中解放出来,使得程序员编程时不用管主存容量的大小

基本思想:把地址空间和主存容量的概念区分开来。程序员在地址空间里编写程序,而程序则在真正的内存中运行。由一个专门的机制(操作系统)来实现地址空间和实际主存直接的映射。

虚拟内存提供了三个重要的能力:1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效的使用了主存。 2)它为每个进程提供了一致的地址空间,从而简化了内存管理。3)它保护了每个进程的地址空间不被其他程序破坏。

分页

    基本思想:

        内存被分成固定长且比较小的存储快(页框,实页,物理页)

        每个进程也被划分成固定长的程序块(页,虚页,逻辑页)

        程序块可装到存储器中可用的存储块中

        无需用连续页框来存放一个进程

        操作系统为每个进程生成一个页表

        通过页表(page table)实现逻辑地址向物理地址转换

    逻辑地址:程序中指令所用地址(进程所在的地址空间),也称为虚拟地址(VA)

    物理地址(PA):存放指令或数据的实际内存地址。

不需要将一个进程的全部都装入内存,根据程序访问的局部性可知:可把当前活跃的页面调入主存,其余留在磁盘上。局部性原则保证了在任意时刻,程序将趋向于在一个较小的活动页面集合上工作。

相关文章

  • 虚拟内存(VM)

    虚拟存储出现的动机:把程序员从大量繁琐的存储管理工作中解放出来,使得程序员编程时不用管主存容量的大小 基本思想:...

  • iOS性能分析-Xcode Instruments Alloca

    All Heap & Anonymous VM 堆内存+虚拟内存All Heap Allocations 堆内存...

  • 2018-09-27 SpringBoot 用jrebel热部署

    Springboot 启动项中设置VM options 增加虚拟内存 -mx2048m -XX:MaxPermS...

  • 虚拟内存

    虚拟内存 出现 为了更加有效的管理内存并且减少出错,现代系统提供了一种对主存的抽象概念---虚拟内存(VM)。 虚...

  • iOS虚拟内存

    虚拟内存简介 什么是VM Regions呢?要知道这个首先要了解什么是虚拟内存。当我们向系统申请内存时,系统并不会...

  • 虚拟内存

    关于虚拟内存(VM)的理解 虚拟内存提供了CPU和实际的物理内存之间的一层抽象,在多个方面体现出了它的益处,本篇笔...

  • 《高效能 MySQL》

    控制虚拟内存 和 I/O cat /proc/sys/vm/swqppiness 对服务器而言,应该设置为0。告诉...

  • Instruments的使用(一)——查找废弃的内存

    内存分配概要分析模版使用Allocations和VM Tracker工具来测量应用程序中常规和虚拟内存使用...

  • 深入虚拟内存(Virtual Memory,VM)

    我们应该知道物理内存(Physical Memory)指的是硬件上的内存,即 RAM。它通常指的是插在主板上的内存...

  • 深入解析Mac OS X & iOS 操作系统 学习笔记

    BSD 高级功能 内存管理 虚拟内存管理是在Mach 层进程的,Mach 控制了分页器,并且向用户态导出了各种vm...

网友评论

      本文标题:虚拟内存(VM)

      本文链接:https://www.haomeiwen.com/subject/ynvldqtx.html