20145328 《信息安全系统设计基础》第5周学习总结
2016-10-16 23:56
204 查看
20145328 《信息安全系统设计基础》第5周学习总结
教材学习内容总结
本周学习内容为《深入理解计算机系统》第三章,主要内容基于两种相关的机器语言:Intel IA32和
x86-64
3.1 历史观点
简要介绍了从最开始78年29K个晶体管的8086到08年781M个晶体管的
Core i7的Intel系列处理器发展过程
X86寻址方式经历三代
DOS时代的平坦模式,不区分用户空间和内核空间,很不安全8086的分段模式
IA32的带保护模式的平坦模式
摩尔定律:
在未来十年,芯片上的晶体管数量每年都会翻一番。事实证明摩尔定律的预测不仅有点乐观,而且短视。在超过45年中,半导体工业一直能够使晶体管数目每18个月翻一番。
备注:一开始并不能理解乐观且短视是什么意思,多次阅读进行理解才明白。短视是因为在摩尔定律中的预测是未来十年,而实际中已超过45年,乐观则是因为预测中翻一番的时间是以每年来进行计算,而实际情况中则是每18个月才翻一番。这就是摩尔定律乐观且短视的原因。
3.2 程序编码
两种抽象
指令集体系结构定义:机器级程序的格式和行为,即
指令集体系结构(Instruction set architecture,ISA)
定义了处理器状态、指令的格式,以及每条指令对状态的影响。
虚拟地址
定义:机器级程序使用的存储器地址
虚拟地址所提供的存储器模型看上去是一个非常大的字符数组。
实际实现:将多个硬件存储器和操作系统软件组合起来。
汇编代码
在表示上非常接近于机器代码比起机器代码的二进制格式,汇编代码的文本格式可读性更高
与C语言差别非常大
通常对C语言程序员隐藏的处理器状态是可见的。
程序计数器
%eip:指示将要执行的下一条指令在存储器中的位置
整数寄存器文件:包含8个命名的位置,分别存储32位的值
条件码寄存器:保存着最近执行的算术或逻辑指令的状态信息。用来实现控制或数据流中的条件变化。
浮点寄存器:存放浮点数据
程序存储器包含:
程序的可执行机器代码
操作系统需要的一些信息
用来管理过程调用和返回的运行时栈
用户分配的存储器块
代码示例
通过
gcc -S xxx.c -o xxx.s获得汇编代码
Ubuntu中gcc编译无法识别-01,所以直接使用gcc -S code.c即可
64位Ubuntu下得到的汇编代码如下,
在64位机器上输入
gcc -m32 -S xxx.c可以得到32位汇编代码
objdump -d xxx反汇编
-------博客内容加载中,请稍后--------
课后练习
代码托管情况
代码托管地址→代码托管地址
学习中遇到的问题
好多。。。看不完。。。。心得体会
本周学习的内容是汇编相关的,由于上个学期没有选汇编这门课,没有汇编基础,所以在看书的时候只能一点一点的来,感觉这一块的只是其实并没有想象中的那么难,但是量真的好大,从上个星期说了要边看书边写博客之后,这周基本上都是对着书一点一点的来,但是好像又看得太细了,导致速度真的很慢,还有好多东西并没有看完,可能之后还是要稍微加快点进度,分辨出哪些东西需要细看哪些不需要。学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/2 | 20/40 | |
第二周 | 63/63 | 1/3 | 20/60 | |
第三周 | 0/63 | 1/4 | 20/80 | |
第四周 | 0/63 | 1/5 | 20/100 | |
第五周 | 45/63 | 1/6 | 20/120 |
参考资料
《深入理解计算机系统V2》学习指导实验二 程序的机器级表示
2016-2017-1 《信息安全系统设计基础》教学进程 第二周指导
相关文章推荐
- 20145328 《信息安全系统设计基础》第3周学习总结
- 20145317 《信息安全系统设计基础》第5周学习总结
- 20145331 《信息安全系统设计基础》第5周学习总结
- 20145229吴姗珊 《信息安全系统设计基础》第5周学习总结
- 20145325张梓靖 《信息安全系统设计基础》第5周学习总结
- 20145328 《信息安全系统设计基础》第4周学习总结
- 20145208 《信息安全系统设计基础》第5周学习总结
- 20145238荆玉茗 《信息安全系统设计基础》第5周学习总结
- 20145233 《信息安全系统设计基础》第5周学习总结
- 20145209 《信息安全系统设计基础》第5周学习总结
- 20145202 《信息安全系统设计基础》第5周学习总结(2)
- 20145217《信息安全系统设计基础》第5周学习总结(1)
- 20145305 《信息安全系统设计基础》第5周学习总结
- 20145202 《信息安全系统设计基础》第5周学习总结(1)
- 20145328 《信息安全系统设计基础》第1周学习总结
- 20145336张子扬 《信息安全系统设计基础》第5周学习总结(一)
- 20145322 《信息安全系统设计基础》第5周学习总结
- 20145307陈俊达《信息安全系统设计基础》第5周学习总结PT1
- 20145308 《信息安全系统设计基础》第5周学习总结
- 20145315 《信息安全系统设计基础》第5周学习总结