2017-2018-1 20155310 《信息安全系统设计基础》第一周学习总结
教材学习内容总结
第一章 计算机系统漫游
对一个C语言程序来说,它是一个高级语言编写的,对于人来说是很方便来进行阅读,理解的。但对于电脑来说,就需要将将原来文本化的代码转化成机器可以直接识别的二进制代码,这一过程需要经过四个阶段的程序(即预处理器、编译器、汇编器以及连接器)共同构成的编译系统 compilation system 来完成。
处理过程以hello.c为例
•预处理器(ccp) gcc -E hello.c -o hello.i 文本
•编译器(ccl)gcc -S hello.i -o hello.s 文本
•汇编器(as)gcc -C hello.s -o hello.o 二进制
•连接器(ld)gcc hello.o -o hello 二进制
系统的硬件组成
•总线 :设计成传送定长的字节块
•I/O设备:每一个I/O设备都通过一个控制器或是适配器与I/O总线相连
•主存:
•处理器: •加载:从主存复制一个字节或者一个字到寄存器。
•存储:从寄存器复制一个字节或者一个字到主存。
•操作:将寄存器里的内容复制到ALU进行算数运算,并将结果存放到寄存器。
•跳转:从指令本身中抽取一个字,并将这个字复制到程序计数器中。
第七章 链接
7.1编译器驱动程序
编译器驱动程序包括:语言预处理器、编译器、汇编器、链接器。
7.2静态链接
链接器的两个任务:
•符号解析
•重定位
7.3目标文件
目标文件纯粹是字节块的集合
目标文件有三种形式:
•可重定位目标文件
•可执行目标文件
•共享目标文件
7.4可重定位目标文件
ELF格式
7.5符号和符号表
7.6符号解析
7.6.1链接器如何解析多重定义的全局符号
7.6.2与静态库链接
7.6.3链接器如何使用静态库来解析引用
教材学习中的问题和解决过程
无
代码调试中的问题和解决过程
无
代码托管
上周考试错题总结
无
结对及互评
无
其他(感悟、思考等,可选)
无
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 2000行 | 30篇 | 400小时 | |
第一周 | 15 /100 | 1/2 | 1/20 | |
第二周 | 15/200 | 1/4 | 1/38 | |
第三周 | 15/300 | 1/7 | 1/60 | |
第四周 | 15/400 | 1/9 | 1/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:4小时
-
实际学习时间:1小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)