zoukankan      html  css  js  c++  java
  • 2018-2019-1 20165201 《信息安全系统设计基础》第9周学习总结

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


    学习内容总结

    第9章 虚拟存储器

    理解虚拟存储器的概念和作用

      为解决内存小而作业大、作业多的矛盾,以及执行过程中只是把当前运行需要的那部分程序和数据装入内存。所以,操作系统把各级存储器统一管理起来。就是说,应该把一个程序当前正在使用的部分放在内存,而其余部分放在磁盘上,就启动执行它。操作系统根据程序执行时的要求和内存的实际使用情况,随机地对每个程序进行换入/换出。

      这样,就给用户提供一个比正式的内存空间大的多的地址空间,这就是虚拟存储器。所谓虚拟存储器是用户能作为可编址内存对待的存储空间,在这种计算机系统中虚地址被映射成实地址。简单地说,虚拟存储器:是由操作系统提供的一个假想的特大存储器。就是说,虚拟存储器并不是实际的内存,它的大小比内存空间大的多;用户感觉所能使用的“内存”非常大,但这是操作系统对物理内存的扩充。

    理解地址翻译的概念
      使用虚拟寻址时,CPU通过生成一个虚拟地址(VA)来访问主存,这个虚拟地址在被送到存储器之前先转换成适当的物理地址。将一个虚拟地址转换为物理地址的任务叫做地址翻译。

    理解存储器映射
    存储器映射:Linux通过将一个虚拟存储器区域与一个磁盘上的对象(object)关联起来,以初始化这个虚拟内存区域的内容的过程。

    虚拟存储器中的块分为:未分配的,缓存的,未缓存的
    未分配的:这一块的虚拟存储器不映射于任何块
    缓存的:这一块的虚拟存储器映射于已经存在于DRAM中的物理页
    未缓存的:这一块的虚拟存储器映射于存在于磁盘中的虚拟页

    掌握动态存储器分配的方法
      当运行时需要额外虚拟存储器时,使用动态内存分配器维护一个进程的虚拟存储器区域。
      分配器有两种基本风格。两种风格都要求应用显式地分配块。不同在于由哪个实体来负责释放已分配地块:
      显示分配器:要求应用显式地释放任何已经分配的块。
      隐式分配器:要求分配器检测一个已分配块何时不再被程序所使用,就释放这个块。也叫做垃圾收集器。

    理解垃圾收集的概念
      动态内存分配器,自动释放程序不再需要的已分配块。
      垃圾收集器将内存视为一张有向可达图,从根节点出发,不可达的堆节点视为垃圾。两个节点的指向关系是其中一个节点包含另一个的位置信息。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 2000行 20篇 200小时
    第一周 83/83 1/1 8/8
    第六周 75/158 2/3 10/18
    第八周 75/158 3/6 10/28
    第九周 75/158 2/8 13/41

    参考资料

  • 相关阅读:
    linux下LD_PRELOAD的用处
    三个通用的脚本,处理MySQL WorkBench导出表的JSON数据进SQLITE3
    ubuntu 18.04下,KMS_6.9.1服务器启动后,客户端连接一段时间因为libnice而crash的问题修复
    Daliy Algorithm(线段树&组合数学) -- day 53
    Daliy Algorithm(链表&搜索&剪枝) -- day 52
    Daliy Algorithm(二分&前缀和) -- day 51
    每日算法
    动态规划--01背包模型
    每日算法
    每日算法
  • 原文地址:https://www.cnblogs.com/cbmwtsl/p/10056373.html
Copyright © 2011-2022 走看看