20155239吕宇轩 《信息安全系统设计基础》第一周学习总结

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

教材学习内容总结

计算机系统是由硬件和系统软件组成的。信息=二进制(位串)+上下文,源程序实际上由值0和1组成的位序列。

C语言代码转汇编代码命令:gcc -S hello.i -o hello.s

源程序翻译过程:源程序文本 → 预处理器(预处理) → 编译器(编译) → 汇编器(汇编) → 链接器(链接) → 可执行目标程序(二进制)

GCC编译:

        预处理:gcc –E hello.c –o hello.i; gcc –E调用预处理器

        编 译:gcc –S hello.i –o hello.s; gcc –S调用编译器

        汇 编:gcc –c hello.s –o hello.o; gcc -c 调用汇编器

        链 接:gcc hello.o –o hello ; gcc -o 调用链接器

系统的硬件组成

1、总线:传送定长字节块。字中的字节数(即字长)是一个基本的系统参数,各个系统中都不尽相同。

2、I/O设备:是系统与外部世界的联系通道。每个I/O 设备都通过一个控制器或适配器与I/O 总线相连。

3、主存:主存是一个临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。存储器是一个线性的字节数组,每个字节都有其唯一的地址。

4、处理器(CPU):中央处理单元。具有加载、存储、操作、跳转过程。

问题和解决过程

  • 问题1:Amdahl定律的推导过程

  • 问题1解决方案:

  • (1)在MIMD系统中,P是处理器的数目;

    (2)在SIMD系统中,P是正在处理的数据数目;

    (3)在流水方式工作的SIMD系统中,P是矢量速度和标量速度的比;

    (4)在流水方式工作的MIMD系统中,P是流水线功能段的数目。

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

教材学习中的问题:

一、计算机可计算的二进制最多多少位?

二、本书中,异常控制流章节中,Linux/IA32系统中的异常小节里,首先提到了除0是一种故障,既四种异常中的第三种
然后又在信号这一小节中,提到当一个进程试图除以0,因此内核会发送给它一个SIGFPE信号。

那么我的疑问是:

 1.除以零后,是先从异常表,找到除以零的异常处理方式,然后在给此进程发送信号么?
 2.这本书提到,进程的上下文切换管理,是基于这四种底层异常的。那信号和这四种底层异常又有什么关系?比如上面提到的除零。

三、如何把学习过的数据结构知识同硬件知识结合?

章节提出的问题

第一章

hello world是怎样工作的?

预处理器、编译器、汇编器、链接器是怎样把.c 的源程序分别修改为.i、.s.、.o的程序的?

第二章

反码和补码在作用上有什么区别?

第三章

直到型循环和当行循环有什么异同?

第四章

Y86指令集体系结构是怎样的?

第五章

循环的低效率是怎样产生的?

第六章

高速缓存有哪些类型?

第七章

处理目标文件有哪些工具?

第八章

什么是异常事件?

第九章

虚拟存储器有哪些作用?

虚拟存储器作为缓存工具是怎样工作的?

第十章

什么是高速缓存污染和异常控制流?

第十一章

网络编程中为什么要用结构体来存放IP地址 ?

第十二章

多线程并发机制的实现?

问题及解决

上周考试错题总结

  • 错题1及原因,理解情况
  • 错题2及原因,理解情况
  • ...

结对及互评

点评模板:

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

本周结对学习情况

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

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

xxx
xxx

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

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

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

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

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

参考资料

原文地址:https://www.cnblogs.com/lyx1996/p/7588555.html