2019-2020-1 20175214 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
- 1、源程序是由一个个字节组成的,1字节=8位;
- 2、源程序编译:将高级语言编译为可执行目标文件。
ESC
ISO
- 预处理:准备工作,根据字符#开头的指令修改原始的c程序;
- 编译:翻译成汇编语言;
- 汇编:翻译成机器语言;
- 链接:将调用的函数以某种形式(?)合并到.o文件中,形成可执行目标文件;
图1
- 3、linux下编译c语言的指令
gcc -o hello hello.c
- 常见的linux编译c指令学习 ->链接
- 4、头文件:系统根据字符#读取预先存储的系统头文件,并插入程序文本中;
头文件中一般有用户构造的数据类型(如枚举类型),外部变量,外部函数、常量和内联函数等具有一定通用性或常用的量。而一般性的变量和函数定义不宜放在头文件中。
(摘自百度百科)。 - 5、了解编译系统的目的:
- 优化系统性能;
- 理解链接是出现的错误;
- 避免安全漏洞。
- 6、
./
和../
以及/
之间的区别./
是当前目录../
是父级目录/
是根目录
- 7、进程和上下文切换
- 个人理解:进程即需要执行的任务,当有更高优先级的任务需要执行的时候,系统将进行
上下文切换
,即存档当前进程a的上下文,切换执行进程b的上下文,待执行完b进程,再重新进入进程a的上下文; - 线程一般比进程更高效。
- 个人理解:进程即需要执行的任务,当有更高优先级的任务需要执行的时候,系统将进行
教材学习中的问题和解决过程
(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )
- 问题1:上课时候老师提到了
.
是指当前目录,以及..
是指上一层目录,但是我觉得这个好像更像是路径,为什么输入./
系统就会运行该文件?还是说./
是一种运行指令? - 问题1解决方案:这个问题课本中有提到,大意为“如果输入非内置命令,
shell
将假设其为一个可执行文件的名字,加载并运行。”,所以我觉得系统应该是在对应目录直接尝试运行程序,而非是我以为的./
是一种运行指令。 - 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
代码调试中的问题和解决过程
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1及原因,理解情况
- 错题2及原因,理解情况
- ...
其他(感悟、思考等,可选)
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 |