2018-2019-1 20165303 《信息安全系统设计基础》第十一周学习总结

虚拟内存

为了更加有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存(VM)。虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟内存提供了三个重要的能力:

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

虚拟内存是核心的
虚拟内存是强大的
虚拟内存是危险的

  • 9.1物理和虚拟寻址
    计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组,每字节都有一个唯一的物理地址PA,第一个字节地址为0。根据物理地址寻址的是物理寻址。


虚拟寻址

  • 9.2地址空间
    地址空间是一个非负整数地址的有序集合
  • 9.3虚拟内存作为缓存的工具
  1. 虚拟页面的集合都分为三个不相交的子集:未分配的、缓存的、未缓存的。

  2. 页表

  3. 页命中

    DRAM缓存不命中称为缺页。
    缺页异常:会调用内核中的缺页异常处理程序,选择一个牺牲页。
    页:虚拟存储器的习惯说法,就是块
    交换=页面调度:磁盘和存储器之间传送页的活动
    按需页面调度:直到发生不命中时才换入页面的策略,所有现代系统都使用这个。
    虚拟存储器中的局部性

局部性原则保证了在任意时刻,程序将往往在一个较小的活动页面集合上工作,这个集合叫做工作集/常驻集。

  • 9.4虚拟内存作为内存管理的工具
  1. 简化链接
  2. 简化加载
  3. 简化共享
  4. 简化内存分配
  • 9.6地址翻译

使用页表的地址翻译

原文地址:https://www.cnblogs.com/Vventador/p/10055018.html