您的位置:首页 > 其它

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

2017-12-03 23:24 225 查看

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

教材学习内容总结

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

虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互。

虚拟存储器作为虚拟的工具:

唯一的虚拟抵制是作为到数组的索引的。

磁盘上数据的内容被缓存在主存中。

VM系统通过将虚拟存储器分割为称为虚拟页(VP)。

每个虚拟页的大小为P=2^P字节。

物理存储器被分割为物理页(PP,也称为页帧),大小为P字节。

在任何时刻,虚拟页面的三个子集:

未分配的:VM系统还未分配的页

缓存的:当前缓存在物理存储器中的已分配页

未缓存的:没有缓存在物理存储器中的已分配页

理解地址翻译的概念

地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理空间地址(PAS)中元素之间的映射,MAP:VAS→PAS∪Ø

利用TLB加速地址翻译

理解存储器映射

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

虚拟存储器区域可以映射到两种类型的对象中的一种:

Unix文件系统中的普通文件

匿名文件

一旦一个虚拟页面被初始化,它就在一个由内核维护的专门的交换文件之间换来换去。

交换文件也叫做交换空间或者交换区域。

一个对象可以被映射到虚拟存储器的一个区域,要么作为共享对象,要么作为私有对象。

一个映射共享对象的虚拟存储器区域叫做共享区域。类似的,还存在私有区域。

私有对象使用写时拷贝技术被映射到虚拟存储器中。

掌握动态存储器分配的方法

动态存储器分配器维护着一个进程的虚拟存储器区域,称为堆(heap)。

对于每个进程,内核维护着一个变量brk,它指向堆的顶部。

分配器将堆视为一组不同大小的块的集合来维护。

每个块就是一个连续的虚拟存储器片,要么是已分配的,要么是空闲的。

分配器有两种基本风格:

显式分配器:要求应用显式地释放任何已分配的块。

隐式分配器:要求分配器检测一个已分配块何时不再被程序所使用,那么就释放这块。

隐式分配器页叫做垃圾收集器,而自动释放未使用的已分配的块的过程叫做垃圾收集。

理解垃圾收集的概念

垃圾收集器:动态存储分配器

垃圾:程序不再需要的已分配块

垃圾收集:自动回收堆存储的过程

了解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/22002/211/20
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

计划学习时间:11小时

实际学习时间:20小时

改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

《深入理解计算机系统V3》学习指导

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: