郝博雅

导航

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

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

关于教材每一章的问题

1.系统的硬件组成之间是如何进行工作的,对于一个共同的工作是如何分工的?

2.编码形式是如何和现实世界中的数字对应的?

3.这里所学的和汇编的机器编码是一样的吗?为什么使用栈这个数据结构?

4.流水线原理具体是什么?有没有什么局限性?

5.优化程序性能的常用方法或原则是什么?

6.分区表之间是如何关联的?

7.链接的具体过程是什么?它的作用是什么?

8.系统调用处理异常的函数有哪些?

9.高速缓存和虚拟内存如何联系,怎样结合?

10.系统级I/O与上学期JAVA学的I/O有什么区别或共同点?

11.如何搭建Web服务器?

12.并发编程是什么?有什么优点?如何较好的利用它?

教材学习内容总结

  • gcc把源程序翻译成可执行文件的四个阶段(ESC,iso)

1.预处理

gcc -E hello.c -o hello.i

2.编译

gcc -S hello.i -o hello.s

3.汇编

gcc -c hello.s -o hello.o

4.链接

gcc hello.o -o hello
  • 四种断点
名称 用法
行断点 b+行号
函数断点 b+函数名
临时断点 tb+行号
条件断点 b if

step / s 下一步,直接执行下一条程序

continue / cont 下一段,如果遇到函数,不会进入函数,逐过程,有点类似VS里面的F10

run 运行

finish 结束调试

print / p 显示某个变量的值

p *array@len 输出数组

p i 输出i的值

enable 恢复失效的断点

disable 使断点失效

clear 清除断点

backtrace / bt 查看堆栈信息

  • 相关的输出格式

x 十六进制格式

d 十进制格式

u 十六进制无符号

o 八进制显示

t 二进制显示

a 十六进制显示

c 字符格式显示

f 浮点数格式显示

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

  • 问题1:为什么gcc hello.c后会出现a.out文件?所有程序编译后都会出现a.out吗?
  • 问题1解决方案:通过参考linux c/c++ a.out的由来知道,而这个神秘数字是Berkeley fast文件系统的作者Kirk McKusick的生日。a.out文件中的神秘数字是0407。0407是PDP-11的一条无条件转移指令的二进制编码,这个数字会让执行器跳过 a.out头文件,进入程序的第一个真正的可执行指令。PDP-11是当时最正统的Unix机器,在a.out要规定神秘数字时,0407就被选择。

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

  • 问题1:输入gcc -C hello.s -o hello.o出现下图错误

  • 问题1解决方案:将大写C改成了小写c后运行成功。

代码托管

上学期结束时是5691,现在是5756,如图所示:

上周考试错题总结

  • 错题1:linux中,内核虚拟内存在虚拟地址空间的低端。(错误)

结对及互评

本周结对学习情况

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

  • 本学期娄老师更改了教学方式,在课上给我们讲了实践性很强的知识点,这样使我在自学的过程中对相关知识点的掌握更加快速又准确!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 65/65 1/1 10/10

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

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

  • 计划学习时间:15小时

  • 实际学习时间:10小时

  • 改进情况:本周参与校庆演出,真用了很多时间。

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

参考资料

posted on 2017-09-24 21:03  郝博雅  阅读(245)  评论(2编辑  收藏  举报