• 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小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    IDEA常用快捷键
    IDEA的使用
    IDEA的常用设置
    IDEA的下载安装
    004-解决多线程安全问题
    002-多线程的创建
    Java中字符串与日期之间的转换
    select标签的字体居中问题
    IntelliJ IDEA常用快捷键
    div小技巧之子元素垂直居中
  • 原文地址:https://www.cnblogs.com/lyx1996/p/7588555.html
Copyright © 2020-2023  润新知