1·源程序是由0和1组成的位序列,8个位被组织成一组,成为字节。
2·区分不同数据对象的唯一方法是上下文。
3·Unix系统【C语言【贝尔实验室】】、K&R、系统级编程、缺乏对类|对象|异常的显式支持。
4·编译器驱动程序(编译系统)【C语言→低级机器语言指令→打包(可执行目标程序)→存放(二进制磁盘文件)】
5·编译系统构成:预处理器、编译器、汇编器、链接器
6·机器语言:IA32(linux、windows)和x86-64(微处理器)
7·典型系统的硬件组成
8·I/O设备通过适配器与控制器与I/O总线相连。(适配器与控制器封装方式不同,前者是插在主板插槽上的卡,后者是置于I/O设备本身或主板上的芯片组)
9·主存是一组动态随机存取存储器DRAM芯片组构成(硬件),是线性的字节数组(数组索引),每个字节都有唯一的地址(逻辑),且从零开始,用来存放程序和程序处理的数据。
10·数据项大小根据类型变化。
11·CPU(处理器),解释主存中指令。核心是程序计数器PC,指向主存中某条机器语言指令。
12·寄存器文件:由一些1字长的寄存器组成。
13·ALU负责计算新的数据和地址值。
14·CPU操作:加载、存储、操作、跳转。
15·处理器的指令集结构和微体系结构。
16·直接存储器技术DMA的应用:数据不通过处理器直接从磁盘到达主存。
17·根据机械原理,较大的存储设备比较小的存储设备运行得慢。
18·L1、L2、L3高速缓存,解决内存与处理器速度差距日益扩大的矛盾,由静态随机访问存储器SRAM的硬件技术实现,利用高速缓存的局部性原理(程序具有访问局部区域里数据和代码的趋势),存储器形成了层次结构。
19·操作系统的抽象概念:进程(对处理器、主存和I/O设备的抽象)、指令级结构(对处理器的抽象)、虚拟存储器(对主存和I/O设备的抽象)、文件(对I/O设备的抽象)。
20·任何一个时刻,单处理器都只能执行一个代码,但操作系统通过“上下文切换”实现“并发运行”的假象:一个进程的指令和另一个进程的指令交错运行。
21·一个进程由多个称为线程的执行单元组成,线程运行在进程上下文中,多线程比多进程更高效。
22·虚拟存储器,对应着一块虚拟地址空间,基本思想是把其内容存储在磁盘上,用主存作为磁盘的高速缓存。
23·按照系统层次结构,并发分为线程级并发、指令级并行、单指令|多数据并行。
24·多核处理器:将多个cpu集成到一个集成电路芯片上。
25·超线程(同时多线程):允许一个cpu执行多个控制流的技术,可以在单个周期的基础上决定要执行哪个线程。
26、多处理器的使用如何提高系统性能:(1)减少执行多任务时模拟并发的需要;(2)使以多线程方式书写的应用程序运行得更快。
27·较低的抽象层次上,同时执行多条指令的属性叫做指令级并行。
28·超标量处理器:达到一个时钟周期能执行超过一条指令的执行速率。
29·单指令|多数据并行(SIMD并行):在最低层次上依靠现代处理器拥有的特殊硬件,一条指令能产生多个并行执行的操作。