文章目录
CSAPP第一章知识点归纳(计算机系统漫游)
基本概念
- 计算机系统是由硬件和系统软件组成
- 大部分计算机系统使用 ASCII标准来表示文本字符
程序的编译过程(重点)
- 执行四个阶段的程序(预处理器、编译器、汇编器、链接器)
预处理阶段:将 # 开头的的命令修改并插入程序文本中
编译阶段:将文本文件翻译成汇编程序文件
汇编阶段:将汇编程序文件翻译成 机器语言指令并打包成可重定位目标程序
链接阶段:合并目标文件,得到 可执行目标文件
计算机系统硬件组成
总线、I/O设备、主存、处理器
- 注意适配器和控制器的区别 控制器是I/O设备本身或者系统的主印制电路板上的芯片组。而适配器是插在主板插槽上的卡。功能:在I/O总线和I/O设备之间传递信息
高速缓存的原理
- 程序的局部性原理:程序具有访问局部区域里的数据和代码的趋势
存储器的层次结构
- 存储器层次结构图(熟记)
层次结构中至上而下,设备的访问速度越来越慢,容量越来越大
操作系统相关的概念
- 操作系统两个基本功能
- 防止硬件被失控的应用程序滥用
- 向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备
进程
- 概念:进程是操作系统对一个正在运行的程序的一种抽象
操作系统实现并发指处理器在进程间切换来实现的。操作系统实现这种交错执行的机制称为上下文切换。
-
**上下文:**操作系统保持跟踪进程运行所需的所有的状态信息
-
上下文切换:操作系统把控制权从当前进程转移到某个新进程。动作:保存当前进程的上下文、恢复新进程的上下文,然后将控制权传递到新进程
- 操作系统内核:操作系统代码常驻主存的部分,它是系统管理全部进程所用代码和数据结构的集合
虚拟内存
进程的虚拟地址空间(图片重点)
文件
-
文件就是字节序列
-
每个I/O色设备,都可以看成是文件。系统中的所有输入输出都是通过使用一组称为Unix I/O的系统函数调用读写文件来实现的
#Amdahl定律(了解)
并发和并行
-
并发:指一个同时具有多个活动的系统
-
并行:指的是用并发来使一个系统运行得更快
-
多处理器系统:由单个操作系统内核控制得多处理器组成得系统(下图为多核处理器得组织结构)
- 超线程(同时多线程):一个cpu执行多个控制流得技术。cpu某些硬件由多个备份,如程序计数器和寄存器文件,其他的硬件部分只有一份,如浮点算术运算单元。常规处理器20 000个时钟周期做不同线程间的转换,超线程处理器可以在单个周期的基础上决定要执行哪个线程。
- 指令级并行:在较低的抽象层次上,现代处理器可以同时执行多条指令的属性称为指令级并行。(运用流水线技术)
- 如果处理器可以达到比一个周期一条指令更快的执行速率,就称为 超标量处理器
- 单指令、多数据并行:例如SIMD并行,浮点运算单元的向量数据
计算机系统的抽象
- 指令集架构提供了对实际处理器硬件的抽象
- 虚拟机是对整个计算机的抽象,包括操作系统、处理器和程序