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


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

    教材学习内容总结

    快速浏览一遍教材,课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题

    一、什么是计算机系统?Unix是什么,和Linux有什么区别?

    二、计算机不同类型的数据之间的不同?计算机数据又和普通数据有什么差异?

    三、汇编语言能带来哪些方便?

    四、如何实现处理器?

    五、如何进行程序优化?

    六、存储器的层次结构?

    七、链接是如何进行的?

    八、怎么处理常见的异常?

    九、如何使用以及管理虚拟存储器?

    十、Unix I/O是什么?

    十一、网络编程的步骤?

    十二、并发编程是什么?

    第一章学习总结

    • 计算机系统是由硬件和系统软件组成的。
    • 处理器读取并解释存放在主存里的二进制指令。
    • 在层次模型中,位于更高层的存储设备比低层的存储设备要快,单位比特造价也更高。
    • 层次结构中,较高层次的存储设备可以较低层次设备的高速缓存。
    • 操作系统内核提供三个基本的抽象:(1)文件是对I/O设备的抽象;(2)虚拟内存是对主存和磁盘的抽象;(3)进程是处理器、主存和I/O设备的抽象。

    第七章学习总结

    • 链接器有三种不同的形式:可重定位的、可执行的和共享的。
    • 可重定位的目标文件是由静态链接器合并成一个可执行的目标文件,可加载到内存中并执行。
    • 共享目标文件(共享库)是在运行时由动态链接器链接和加载的,或者隐含地在调用程序被加载和开始执行时,或者根据需要在程序调用到dlopen库的函数时。
    • 静态链接器是由像GCC这样的编译驱动程序调用的。
    • 多个目标文件可以被连接到一个单独的静态库中。

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

    • 问题1:怎么生成静态链接库?怎么使用静态库?
    • 问题1解决方案:仔细看书后知道:
    静态链接库的生成:
    gcc -c 文件名.c
    ar rcsv libxxx.a xxx.o;
    静态库的使用:
    gcc -o 文件名 
    文件名.c -L. -lxxx
    
    • 问题2:共享库的生成和使用?
    • 问题2解决方案:
    共享库的生成:
    gcc -fPIC -c xxx.c gcc -shared -o libxxx.so xxx.o;
    共享库的使用:
    gcc -o main main.c -L. -lxxx
    
    

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

    • 问题1:在进行实验楼实验时,敲完指示代码后单个.c文件无法运行。
    • 问题1解决方案:看了书上第七章内容之后知道了翻译器和链接器的存在,解决了疑惑。
    •预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
    •编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl
    •汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as
    •链 接:gcc hello.o –o hello ;gcc -o 调用ld
    
    
    gcc -o prog main.c add.c sub.c mul.c div.c
    
    ./prog
    

    代码托管

    (statistics.sh脚本的运行结果截图)

    上周考试错题总结

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

    结对及互评

    点评模板:

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

    本周结对学习情况

    - [20155318李晓莹](http://www.cnblogs.com/lxy1997/)
    - 结对照片
    - 结对学习内容
        - XXXX
        - XXXX
        - ...
    

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

    本周是正式开学的第一周,学习的主要内容是教材第一章和第七章,但本周我安排的实学习时间不足,教材内容很多都看得较仓促,以后会更合理的根据要学习的内容量来安排学习时间。除了教材上的知识以外,还在实验楼自主进行了实验二的学习,主要内容是vim,gcc,gdb以及makefile。这些内容都对我们更深入的了解C语言编译过程有很大的帮助。会为我们将来的程序编译带来许多便利。

    学习进度条

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

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

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

    • 计划学习时间:15小时

    • 实际学习时间:8小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    汉语-词语:慧根
    汉语-词语:悟性
    汉语-汉字:耑
    汉语-汉字:羣
    汉语-词语:觉察
    汉语-词语:醒悟
    汉语-词语:觉悟
    Redhat 5禁止IPv6
    从缓存行出发理解volatile变量、伪共享False sharing、disruptor
    【故障处理141119】一次数据库不繁忙时一条sql语句2个运行计划导致业务超时的故障处理
  • 原文地址:https://www.cnblogs.com/guyanlin/p/7587566.html
Copyright © 2020-2023  润新知