本文共 1134 字,大约阅读时间需要 3 分钟。
信息安全系统设计基础第一周学习总结
教材学习内容总结
第一章:计算机系统漫游
信息的定义:信息是二进制(位串)加上上下文,二进制是计算机系统的基础语言。
C语言代码转汇编代码命令:
gcc -S hello.i -o hello.s
该命令用于将C语言代码转化为汇编代码。
源程序翻译过程:
一个源程序从文本形式开始,通过预处理器、编译器、汇编器和链接器,最终生成可执行的二进制程序。 - 预处理器(预处理):处理宏和条件编译器指令。
- 编译器(编译):将源代码转化为目标代码。
- 汇编器(汇编):将文本代码转化为机器语言。
- 链接器(链接):将多个目标文件合并成一个可执行程序。
了解编译系统工作原理的益处:
- 优化程序性能。
- 理解链接时出现的错误。
- 避免安全漏洞。
系统的硬件组成:
- 总线:传送定长字节块,字长是系统参数。
- I/O设备:与外部世界通信。
- 主存:临时存储程序和数据,存储器是线性字节数组。
- 处理器(CPU):执行程序,包含加载、存储、操作、跳转功能。
- 存储设备层次结构:上层存储作为下层存储的高速缓存。
操作系统管理文件:
- 文件是I/O设备的抽象表示。
- 进程是对处理器、主存和I/O设备的抽象表示。
- 线程:在多核环境下提升程序性能。
- 虚拟内存:为每个进程提供假象。
- 文件:字节序列,所有I/O设备都可以看作是文件。
Amdahl定理:
第七章:链接
链接器作用:
- 构造大型程序。
- 避免编程错误。
- 理解语言作用域规则。
- 理解共享库。
静态链接:
- 符号解析:将符号与定义匹配。
- 重定位:确定内存地址。
目标文件类型:
- 可重定位目标文件:字节序列。
- 可执行目标文件:可运行文件。
- 共享目标文件:可被多进程共享的文件。
可重定位目标文件结构:
包含多个节,如.text
、.data
、.bss
等。 符号和符号表:
- 全局符号:定义于模块或被模块引用。
- 局部符号:仅在模块内部使用。
- 弱符号:优先级低于强符号。
符号解析规则:
教材学习中的问题和解决过程
问题1:对Amdahl定律时间计算不理解。
解决方案:通过实例计算理解定律。
代码调试中的问题和解决过程
问题:在Linux系统下用终端运行hello.c
。
解决方案:通过命令
gcc hello.c -o hello
编译并运行。
其他感悟
对计算机系统的学习:初步理解了软件与硬件的相互联系。 计划学习时间与实际时间:通过记录和对比,提高计划效率。 - 计划学习时间:25小时
- 实际学习时间:20小时
- 改进情况:需要更合理安排时间。
通过对编译系统的学习,我们不仅能优化程序性能,还能更好地理解链接时的错误和安全问题。这为后续的系统设计奠定了基础。
转载地址:http://osrfk.baihongyu.com/