深入理解计算机系统笔记:第一章 计算机系统漫游

1.编译系统

深入理解计算机系统笔记:第一章 计算机系统漫游

编译系统:
预处理器—编译器—汇编器—链接器
1.预编译器(cpp):根据#改写程序,插入头文件或处理宏定义,得到.i
2.编译器(ccl):转汇编语言,将不同的高级语言(C/C++/Java等)转成可以确切描述低级机器语言指令的汇编语言,为不同编译器提供了通用的输出语言,得到.s
3.汇编器(as):转机器语言指令,生成一种可重定位目标程序的二进制文件,得到.o
4.链接器(ld):合并标准库的文件,比如printf存在的printf.o要合并到C程序文件中,得到可执行目标文件

2.分层次的存储设备

存储器的层次结构主要思想是一层上的存储器作为低一层存储器的高速缓存

 

深入理解计算机系统笔记:第一章 计算机系统漫游

3.并发,并行

并发:处理多个任务,不一定是同时,比如正在做饭,来了电话,先接电话,挂了电话再继续做饭。
并行:同时处理多个任务。比如正在做饭,来了电话,一边打电话一边做饭
计算机的并发:
1.线程级并发(12章)

  1. 概念:在一个进程中执行多个控制流
  2. 传统并发:并发执行只是模拟出来的,通过一台计算机在执行的进程间快速切换的方式实现。此为单处理器系统
  3. 现代的并发:

      多核处理器:将多个CPU也可称为多核集成到一个集成电路芯片上,每个核都有自己的高速缓存,它们共享更高层次的高速缓存以及主存的接口
      超线程:每个核的处理器都可以在单个时钟周期内切换线程,允许一个CPU执行多个控制流的技术,CPU的某些硬件如PC和寄存器有多个备份以适应多核多线程。
2.指令并行(第四章五章)
概念:现代处理器可以同时执行多条指令的属性 
通过流水线处理器可以同时处理多达100条指令
3.单指令、多数据并行
概念:许多现代处理器拥有特殊的硬件,允许一条指令产生多个可以并行执行的操作,也称SIMD并行,比如Intel和AMD处理器都具有并行的对4对单精度浮点数做加法的指令。

 

4.操作系统提供的抽象:

1.文件是对I/O设备的抽象
2.虚拟存储器是对主存和磁盘的抽象
3.进程是对处理器、主存和I/O设备的抽象