虚拟内存(VM)

2019-01-13  本文已影响0人  我就是我啊

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

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

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

分页

    基本思想:

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

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

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

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

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读