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

教材每章提出问题

  • 第一章:什么是计算机系统
  • 第二章:如何表示和执行应用程序
  • 第三章:如何将C语言转换为汇编代码
  • 第四章:设计一个处理器的步骤
  • 第五章:如何优化程序性能
  • 第六章:存储器层次结构是什么
  • 第七章:链接问题在哪些情况下会影响程序的性能和正确性
  • 第八章:异常控制流的定义以及分类
  • 第九章:虚拟内存是如何工作的
  • 第十章:Linux中Unix I/O模型的系统级函数有哪些
  • 第十一章:客户端-服务器编程模型是什么
  • 第十二章:并发编程技术有哪些

一.教材学习内容总结

一.

  • ./a.out: 当前目录
  • $?:查看程序返回值
  • -tc:按字节依次查看
  • gcc-E hello.c-o hello.i:编译预处理

gcc把源程序翻译成可执行文件的四个阶段(ESC,iso)
1.预处理:主要完成文件包含、宏的替换、条件编译等工作。

gcc -E hello.c -o hello.i
2.编译:对预处理器后的C语言代码进行词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价、优化的中间代码表示或汇编代码。

gcc -S hello.i -o hello.s
3.汇编:①将表示存储单元的所有标识符都存入符号表并分配地址②将每个操作码译为目标机器代表该操作的二进制位串,并把代表存储单元的每个标识符翻译成符号表中这个标识符所分配的地址。

gcc -c hello.s -o hello.o
4.链接:收集、组织程序所需的不同代码和数据,以便程序能被装入内存并被执行的过程。

gcc hello.o -o hello

调试

步骤:1.contrl+shift+T

2.vi gcc gdb(调试)
gdb:b(断点) r(运行)step/next(单步调试) quit(退出)

  • c.gdb.out:进行单步调试
  • finish:执行完剩余所有函数
  • until:执行完剩余循环——在下一行语句设置临时断点:tb (行数)
  • 设置断点:行断点:b (行号) 临时断点:tb(行号)条件断点(行号)

  • 计算机的硬件组成:
    1.总线
    2.I/O设备
    3.主存
    4.处理器

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

嗯,第七章真的没看懂。。。感觉有点乱,知识没有系统起来。

上周考试错题总结

结对及互评
本周结对学习情况

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

新学期开始也意味着新的开始,那么这学期一定要从上学期吸取教训,克服怠惰,紧跟老师要求走,不能贪图安逸掉队。

学习进度条

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

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

参考资料
《深入理解计算机系统V3》

 posted on 2017-09-24 22:07  20155327李百乾-  阅读(189)  评论(1编辑  收藏  举报