zoukankan      html  css  js  c++  java
  • 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地址翻译

    使用页表的地址翻译

  • 相关阅读:
    第35条:注解优先于命名模式
    Apache Shiro入门实例
    第34条:用接口模拟可伸缩的枚举
    Lua数组排序
    C++多态性的理解
    爱推软件
    VMProtect使用小计【一】
    android软件开发之webView.addJavascriptInterface循环渐进【二】
    cocos2dx如何添加popScene的场景动画
    Cocos2d-x 3.0 cocostudio骨骼动画的动态换肤
  • 原文地址:https://www.cnblogs.com/Vventador/p/10055018.html
Copyright © 2011-2022 走看看