2017-2018-1 20155211 《信息安全系统设计基础》第11周学习总结
教材学习内容总结
-
虚拟存储器:对主存的抽象概念,是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,为每个进程提供了一个大的、一致的、私有的地址空间
-
虚拟主存提供的三个重要能力:
- 它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,高效的使用了主存
- 它为每个进程提供了一致的地址空间,从而简化了存储器管理
- 它保护了每个进程的地址空间不被其他进程破坏
-
虚拟存储器作为缓存的工具
- 虚拟页:VM系统通过将虚拟存储器分割为称为虚拟页(VP)的大小固定的块来处理这个问题,每个虚拟页的大小为P=2^p
- 物理页:物理存储器被分割为物理页,大小也为P字节,物理页也称为页帧
- 在任意时刻,虚拟页面的集合都分为三个不相交的子集:
- 未分配的:VM系统还没分配/创建的页,不占用任何磁盘空间。
- 缓存的:当前缓存在物理存储器中的已分配页
- 未缓存的:没有缓存在物理存储器中的已分配页
-
缺页:DRAM缓存不命中称为缺页
-
颠簸:工作集大小超出了物理存储器的大小
-
VM简化了链接和加载、代码和数据共享,以及应用程序的存储器分配:
-
地址翻译:地址翻译就是一个N元素的虚拟地址空间VAS中的元素和一个M元素的物理地址空间PAS中元素之间的映射
-
在既使用SRAM高速缓存又使用虚拟存储器的系统中,大多数系统选择物理寻址
-
堆块的格式:由一个字的头部,有效荷载,和可能的额外填充组成
-
垃圾收集器是一种动态存储分配器,自动释放程序已经不再需要的已分配块(垃圾)。将存储器视为一张有向可达图,图的节点被分配为一组根节点和一组堆节点。
教材学习中的问题和解决过程
- 问题1:linux为什么不需要碎片整理?
- 问题1解决方案:answer
代码调试中的问题和解决过程
- 根据课本实践简单分配器的过程中因未认真调试出现了报错,后改正
- 运行结果如下:
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 这个会另写一片博客的,到时候会附链接
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | |
---|---|---|
第十一周 | 1000/800 | 2/2 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
-:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:25小时
-
实际学习时间:30小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)