2017-2018-1 20155231 《信息安全系统设计基础》第11周学习总结

2017-2018-1 20155231 《信息安全系统设计基础》第11周学习总结

教材学习内容总结

  1. 理解虚拟存储器的概念和作用
  • 虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互。
  • 虚拟存储器作为虚拟的工具:
    唯一的虚拟抵制是作为到数组的索引的。
    磁盘上数据的内容被缓存在主存中。
    VM系统通过将虚拟存储器分割为称为虚拟页(VP)。
    每个虚拟页的大小为P=2^P字节。
    物理存储器被分割为物理页(PP,也称为页帧),大小为P字节。
    在任何时刻,虚拟页面的三个子集:
    未分配的:VM系统还未分配的页
    缓存的:当前缓存在物理存储器中的已分配页
    未缓存的:没有缓存在物理存储器中的已分配页
  1. 理解地址翻译的概念
  • 地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理空间地址(PAS)中元素之间的映射,MAP:VAS→PAS∪Ø
  • 利用TLB加速地址翻译
  1. 理解存储器映射
  • Linux通过将一个虚拟存储器与一个磁盘上的对象关联起来,以初始化这个虚拟存储器区域的内容,这个过程称为存储器映射。
  • 虚拟存储器区域可以映射到两种类型的对象中的一种:
  • Unix文件系统中的普通文件
  • 匿名文件
  • 一旦一个虚拟页面被初始化,它就在一个由内核维护的专门的交换文件之间换来换去。
  • 交换文件也叫做交换空间或者交换区域。
  • 一个对象可以被映射到虚拟存储器的一个区域,要么作为共享对象,要么作为私有对象。
  • 一个映射共享对象的虚拟存储器区域叫做共享区域。类似的,还存在私有区域。
  • 私有对象使用写时拷贝技术被映射到虚拟存储器中。
  1. 掌握动态存储器分配的方法
  • 动态存储器分配器维护着一个进程的虚拟存储器区域,称为堆(heap)。
  • 对于每个进程,内核维护着一个变量brk,它指向堆的顶部。
  • 分配器将堆视为一组不同大小的块的集合来维护。
  • 每个块就是一个连续的虚拟存储器片,要么是已分配的,要么是空闲的。
  • 分配器有两种基本风格:
    显式分配器:要求应用显式地释放任何已分配的块。
    隐式分配器:要求分配器检测一个已分配块何时不再被程序所使用,那么就释放这块。
  • 隐式分配器页叫做垃圾收集器,而自动释放未使用的已分配的块的过程叫做垃圾收集。
  1. 理解垃圾收集的概念
  • 垃圾收集器:动态存储分配器
  • 垃圾:程序不再需要的已分配块
  • 垃圾收集:自动回收堆存储的过程
  1. 了解C语言中与存储器有关的错误
  • 间接引用坏指针
  • 读为初始化的存储器
  • 允许栈缓冲区溢出
  • 假设指针和它们所指向的对象是相同大小的
  • 造成错位错误
  • 引用指针,而不是它所指向的对象
  • 误解指针运算
  • 引用不存在的变量
  • 引用空闲堆块中的数据
  • 引起存储器泄漏

教材学习中的问题和解决过程

  • 问题1:mallock和free函数
  • 问题1解决方案:程序通过调用malloc函数来从堆中分配块。
    malloc函数返回一个指针,指向大小为至少size字节的存储器块,这个块会为可能包含在这块内的任何数据对象类型做对齐。
    free函数来释放已分配的堆块

代码调试中的问题和解决过程

  • 问题1:实验4
  • 问题1解决方案:

代码托管

上周考试错题总结

博客

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 其他

本周结对学习情况

- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
    - XXXX
    - XXXX
    - ...

其他(感悟、思考等,可选)

xxx
xxx

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第11周 200/2200 2/2 11/20

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:11小时

  • 实际学习时间:20小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2017-12-03 23:24  名字最难取  阅读(133)  评论(0编辑  收藏  举报