2017-2018-1 20155318 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
-
熟悉vi的基本操作
-
命令模式下,将光标放在函数名上,按"K"可以直接察看 man page。
几个设置 -
:set nu
显示行号 -
:set ai
自动缩行 -
:set ts=4
设置一个 TAB 键等于几个空格 -
h-←,j-↓,k-↑,l-→,:控制相应的光标移动方向;
-
[[ 转到上一个位于第一列的"{";]] 转到下一个位于第一列的"{";{ 转到上一个空行;} 转到下一个空行
-
·gd 转到当前光标所指的局部变量的定义
-
gcc编译器:完成翻译过程
-
预处理
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 -
gdb调试技术
-
gdb m(启动GDB)
-
b 设断点(4种断点:函数断点、条件断点、临时断点,行断点)
-
run (r)开始运行程序
-
info b
-
n (next)单步运行
-
s (step) 单步运行
-
c(countinu)从当前断点继续运行到下一个断点
-
display 跟踪变量值的改变
-
quit 退出GDB
-
until 结束循环
-
finish 结束函数
教材学习中的问题和解决过程
- 问题一:操作系统内核提供三个基本的抽象是?
- 文件是对I/O设备的抽象
- 虚拟存储器是对主存和磁盘的抽象
- 进程是对处理器、主存和I/O设备的抽象
- 问题二:并发和并行的区别和联系?
- 并发:一个同时具有多个活动的系统。
- 并行:用并发使一个系统运行地更快,并行可以在计算机系统多个抽象层次上运用。按照系统层次结构由高到低的顺序强调三个层次:线程级并发、指令级并行、单指令多数据并行
代码调试中的问题和解决过程
虚拟机出现故障,暂未发现代码调试问题
教材每章提的问题
- 第一章:操作系统的管理硬件有哪些?有什么不同
- 第二章:无符号数和数的补码表示有哪些特性?
- 第三章:在机器程序中,如何将控制与数据连接起来?
- 第四章:Y86-64是一种什么样的指令?
- 第五章:如何减少程序需要做的工作的变换?
- 第六章:高速存储对程序的性能影响如何?
- 第七章:动态库与静态库的不同?
- 第八章:应用程序是如何处理阻塞信号的?
- 第九章:应用程序如何使用和管理虚拟内存?
- 第十章:内核用什么数据结构来表示打开的文件?
- 第十一章:什么是套接字接口?
- 第十二章:基于进程的并发和基于线程的并发的区别和联系?
上周考试错题总结
无
结对及互评
本周结对学习情况
其他(感悟、思考等,可选)
新的一学期学习还没完全进入状态,完成书籍学习后,博客写的有些敷衍,会在下周的学习中不断更新完善这篇博客。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 3/3 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:5小时
-
实际学习时间:3小时