《深入理解计算机系统-程序结构》读书笔记
作者:互联网
1.计算机系统漫游
计算机系统是由硬件和系统软件组成的,他们共同工作来运行应用程序。在《深入理解计算机系统》一书中将会学到很多实践的技巧。例如:了解编译器是如何实现过程调用的、避免缓冲区溢出错误带来的安全漏洞、理解并发带来的希望和陷阱等。
1.1 信息就是位+上下文
-
源程序的组成:
-
源程序是由值0和1组成的位序列,8个位被组织成一组,称为字节。
-
每个字节表示程序中的某些文本字符。
-
-
文本文件:
-
大部分系统都使用ASCII标准来表示文本字符,只由ASCII字符构成的文件称为文本文件。
-
所有其他文件都称为二进制文件。
-
1.2 程序被其他程序翻译成不同格式
-
目标程序:
-
目标程序也称为可执行目标文件,目标文件是由编译器驱动程序将源程序转化得到的。
-
-
翻译过程分为4个阶段
-
预处理阶段:将源程序修改位另一种能够编译的程序文件。
-
编译阶段:将预处理的源程序翻译成汇编语言程序。
-
汇编阶段:将汇编语言程序翻译成机器语言指令。
-
链接阶段:把标准库的目标程序和源程序合并,得到可以被加载到内存中,系统执行的目标文件。
-
-
了解编译系统如何工作是大有益处的
-
优化程序性能:一个函数调用的开销有多大?本地变量和引用变量哪个更快?简单的排列括号函数就运行的快很多是什么原因?等等
-
理解链接时出现的错误:连接器无法解析引用是什么意思?静态变量和全局变量的区别是什么?为什么有些链接直到运行时才出现错误?
-
避免安全漏洞:缓冲区溢出错误、理解数据和控制信息存储在程序栈中的方式会引起的后果。
-
1.3 处理器读并解释储存在内存中的指令
标签:计算机系统,文件,程序结构,程序,目标程序,读书笔记,翻译成,源程序 来源: https://www.cnblogs.com/wuchangliang/p/11456491.html