美文网首页
虚拟存储器

虚拟存储器

作者: 有何不可12317 | 来源:发表于2018-09-14 11:09 被阅读0次

参考《深入理解计算机系统》第九章

1. 物理与虚拟寻址

1.1 物理寻址系统

物理寻址系统.png

1.2 虚拟寻址系统

image.png

MMU:存储器管理单元,CPU的组成部分

2. 地址空间

地址空间:非负整数地址的有序集合;
虚拟地址空间:在一个带虚拟储存器的系统中,CPU从一个有N(N=2^n)个地址的地址空间中生成虚拟地址,这个地址空间称为虚拟地址空间;
地址空间大小由表示最大地址位数来描述,典型的有32位于64位虚拟地址空间
物理地址空间:与系统中物理存储器的M个字节对应(如上图,M不要求2的次幂)

3. 虚拟存储器作为缓存的工作

虚拟存储器(VM)被组织为一个由存放在磁盘上N个连续的字节大小的单元组成的数组。每个字节都有一个唯一的虚拟地址
虚拟存储器分割为称为虚拟页(VP)的大小固定块;物理存储器分割为称为物理页(PP)的大小固定块。虚拟页的大小都为P=n^2;

image.png

3.1 页表

image.png
页表将虚拟页映射到物理页。每次地址翻译硬件将一个虚拟地址转换成物理地址时都会读取页表。
操作系统负责维护页表内容以及在磁盘与DRAM之间来回传送页。
页表就是一个页表条目(PTE)的数组

3.2 页命中

CPU读出虚拟地址,通过页边查询,虚拟地址所在页通过页表中的有效位判断其存在于物理地址中。


image.png

3.3 缺页

DRAM缓存不命中称为缺页。
缺页异常会调用内核中的缺页异常处理程序 :通过调度算法找到一个牺牲页 -> 如果牺牲页被修改 -> 将该牺牲页写回磁盘 -> 内核将所缺页从磁盘(虚拟空间)写到内存(物理空间) -> 更新页表 -> 中断返回


image.png

相关名词:
页面调度,页面调入(换入),页面调出(还出),按需页面调度

3.4 分配页面

增加虚拟存储器之后,如果缺页率较多,将会影响程序的工作效率;
但是由于程序的局部性原理,效率问题得到一定缓解;
根据程序的局部性原则,程序往往在一个较小的活动页面集合上工作,这个集合叫做工作集
只要程序有较好的时间局部性,虚拟内存将会工作的很好;但是不排序意外,这时候将会出现页面频繁的换入换出;这种状态叫做颠簸

可以利用getrusage函数检测缺页数量

4. 虚拟存储器作为存储器管理的工具

实际上操作系统为每个进程提供了一个独立的页表,因而也就是一个独立的虚拟地址空间;
多个虚拟页面可以映射到同一个共享的物理页面上;

image.png
按需页面调度独立的虚拟地址空间结合,对系统中存储器的使用和管理造成了深远影响。特别的,VM简化了链接和加载,代码和数据共享以及应用程序的存储器分配。
(具体怎么优化见参考书籍[博客]内存管理:02虚拟存储器

5. 虚拟存储器作为存储器保护工具

相关文章

  • 层次结构存储系统

    目录 6.5 虚拟存储器 虚拟存储器的基本概念 虚拟地址空间 虚拟存储器的实现 存储保护 6.6 IA-32/Li...

  • 2019-01-13 CSAPP 第九章

    9.虚拟存储器 为了更加有效地管理存储器且少出错,现代系统提供了对主存的抽象概念,叫做虚拟存储器(VM)。 虚拟存...

  • 虚拟存储器

    0,概念 虚拟存储器管理——基于局部性原理,由操作系统提供一个比实际内存大的,假想的特大存储器。 虚拟存储器定义:...

  • 虚拟存储器

    为了有效地管理存储器并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟存储器(VM)。虚拟存储器是硬件异常、...

  • 第五章 虚拟存储器

    虚拟存储器的定义:所谓“虚拟存储器”,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统...

  • 第5章 虚拟存储器

    虚拟存储器的定义:所谓“虚拟存储器”,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统...

  • 四.(5)虚拟存储器

    1.虚拟存储器的定义 所谓“虚拟存储器”,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器...

  • 第五章 虚拟存储管理

    1.虚拟存储器的定义 所谓“虚拟存储器”,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器...

  • 一.NIO背景知识

    一.虚拟内存 MMU:它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为...

  • Binder面试系列——内存管理单元

    1.1 什么是MMU MMU(Memory Management Unit)主要用来管理虚拟存储器、物理存储器的控...

网友评论

      本文标题:虚拟存储器

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