2017-2018-1 20155330 《信息安全系统设计基础》第1周学习总结
教材每章提问
- 第一章:虚拟内存与物理内存的区别?
- 第二章:布尔代数如何在实际中应用?
- 第三章:机器级代码与C语言代码的区别?
- 第四章:SEQ具体指什么?
- 第五章:寄存器溢出的弊端?
- 第六章:局部性对存储器层次结构的重要意义?
- 第七章:如何进行重定位?
- 第八章:如何有效处理异常?
- 第九章:虚拟内存对系统的重要意义?
- 第十章:I/O如何进行重定向?
- 第十一章:如何进行C/S编程模型通信?
- 第十二章:基于不同类型的并发编程的异同?
教材学习内容总结
第一章
- 信息就是位+上下文
- 编译系统四个阶段:预处理--编译--汇编--链接
- 系统硬件组成:总线、I/O设备、主存、处理器
- 处理器主要操作:加载、存储、操作、跳转
第七章
-
shell中调用GCC驱动程序(例)
linux> gcc -Og -o prog main.c sum.c
-
构造可执行文件链接器的两个主要任务:符号解析、重定位
-
目标文件三种形式:可重定位目标文件、可执行目标文件、共享目标文件
-
处理目标文件的工具:
名称 功能 AR 创建静态库,插入、删除、列出和提取成员 STRINGS 列出一个目标文件中所有可打印的字符串 STRIP 从目标文件中删除符号表信息 NM 列出一个目标文件的符号表中定义的符号 SIZE 列出目标文件中节的名字和大小 READELF 显示一个目标文件的完整结构,包括ELF头中编码的所有信息。 OBJDUMP 能够显示一个目标文件中所有的信息。反汇编.text节中的二进制指令
教材学习中的问题和解决过程
(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )
-
问题1:在运行可执行文件时shell需要调用操作系统中的加载器(loader)函数,那么shell是如何调用函数的呢?
-
问题1解决方案:分为两种情况
-
调用外部的函数,直接在本函数内添加 . fname.sh。然后:fname(不带参数的)、fname agr1 agr2 (带参数的)
-
本部的函数则可以直接使用fname(不带参数的)、fname agr1 agr2(带参数的)
-
-
问题2:目标文件与可执行文件的区别?
-
问题2解决方案:可执行文件包含了一个可以被操作系统创建一个进程来执行之的文件,是目标文件的形式之一。
代码调试中的问题和解决过程
由于无法启动虚拟机,暂时无法进行该项。
代码托管
上周考试错题总结
无。
结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 其他
本周结对学习情况
- 20155321
- 结对学习内容
- 第1章 计算机系统漫游
其他(感悟、思考等,可选)
这周的学习任务主要是第一章和第七章。第一章内容主要对计算机系统有个初步的了解,内容都比较简单,容易理解。而第七章则要复杂的多,许多专业名词都是第一次接触,教材上的解释也较为专业化,需要一定的时间对其理解。不过,非常尴尬的是,把之前创建的虚拟机的密码忘了……然后重新创建安装之后在设置时区时电脑就死机了,反复尝试了很多次之后都不成功,所以也没有办法上传代码。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:15小时
-
实际学习时间:10小时
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)