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

Posted yjtblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2019-1 20165327 《信息安全系统设计基础》第一周学习总结相关的知识,希望对你有一定的参考价值。

2018-2019-1 20165327 《信息安全系统设计基础》第一周学习总结
知识总结

第一章hello程序的生命周期

1.hello程序是从源程序开始的。创建并保存hello.c的文本文件。信息=比特流+上下文

vi hello.c
编译
hello程序分步编译
1、预处理(包括打开头文件和翻译宏)
hello.c->hello.i

gcc -E hello.c -o hello.i
这时打开hello.i发现,短短几行代码已被展开为一千多行。

2、编译
hello.i->hello.s

gcc -S hello.i -o hello.s
这时打开hello.s发现是汇编代码,前面带.的是指令,可以去掉。

3、汇编
hello.s->hello.o

gcc -c hello.s -o hello.o
这时打开hello.o发现是乱码,其实已经是二进制文件,可以使用od命令打开。

od -tx1 hello.o
反汇编命令:

objdump -d hello.o
4、链接

gcc hello.o -o hello
此时将产生hello可执行文件
系统硬件组成(总线、I/O设备、主存、处理器)

运行hello程序时,硬件间的交互。

介绍了cache的重要性及存储设备形成的层次结构

操作系统通过三个抽象概念来管理硬件(进程(线程)、虚拟内存、文件)

系统间利用网络通信的模型

介绍计算机中三个重要主题:

Amdahld定理
并行与并发

第七章 链接

7.1编译器驱动程序
编译器驱动程序包括:语言预处理器、编译器、汇编器、链接器。

7.2静态链接

链接器的两个任务:

符号解析
重定位
7.3目标文件

目标文件纯粹是字节块的集合

目标文件有三种形式:
1、可重定位目标文件
2、可执行目标文件
3、共享目标文件
7.4可重定位目标文件
ELF格式

7.5符号和符号表

7.6符号解析
7.6.1链接器如何解析多重定义的全局符号
7.6.2与静态库链接
7.6.3链接器如何使用静态库来解析引用

7.7重定位
7.7.1重定位条目
7.7.2重定位符号引用

7.8可执行目标文件

7.9加载可执行目标文件

7.10动态链接共享库

7.11从应用程序中加载和链接共享库

7.12位置无关代码

7.13库打桩机制

7.14处理目标文件的工具





























以上是关于2018-2019-1 20165327 《信息安全系统设计基础》第一周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

2018-2019-1 20165327 《信息安全系统设计基础》第二周学习总结

2018-2019-1 20165327 《信息安全系统设计基础》第七周学习总结

2018-2019-1 20165327 《信息安全系统设计基础》第八周学习总结

NetSec2019 20165327 Exp6 信息搜集与漏洞扫描

20165327 2017-2018-2 《Java程序设计》第9周学习总结

20165327 第三周学习总结