一、计算机系统漫游
1.1 信息就是位+上下文
- hello程序的生命周期是从一个源文件开始的。
- 所有文件都是用bits形成的
1.2 程序被其他程序翻译成不同的格式
- 一个 hello.c 会被预处理器(cpp)修改成 hello.i(头文件和源文件合体) 然后被编译器(ccl)翻译成 hello.s(汇编语言程序)
- 再被汇编器(as)翻译成 hello.o(二进制文本) 最后进入链接器阶段(id)就变成了可执行的目标程序(二进制)
- 预处理是根据字符#开头的命令修改C程序
- 编译是把文本翻译成文本,可以理解成MIPS指令集
- 汇编把文本翻译成机器语言指令,叫做‘可重定位目标程序’,是一个二进制文件
- 链接阶段可以举例,比如我们调用了printf这个函数,那么就会使用printf.o的文件与我们的文件进行合并,这就是链接,随后会加载到内存,然后程序被系统执行
1.3 了解编译系统如何工作过是大有益处的
- 目的:
- 优化程序性能
- 理解链接时出现的错误
- 避免安全漏洞
1.4 处理器并解释存储再内存中的指令
- 在UNIX中时使用shell的应用程序,它是一个命令行解释器,它输出一个提示符,等到一个输入命令行,然后执行这个命令
计算机系统漫游:从位到进程的探索

本文从信息的位与上下文出发,深入讲解计算机系统的硬件组成、程序的翻译过程、处理器指令执行、高速缓存、存储层次结构、操作系统管理硬件的角色,特别是进程、线程和虚拟内存的概念。通过对Amdahl定律的探讨,强调了计算机系统中抽象的重要性,并介绍了程序的机器级表示,包括指令集、汇编语言和数据格式。
最低0.47元/天 解锁文章
304

被折叠的 条评论
为什么被折叠?



