本文主要是记录学习《CSAPP》的笔记。CSAPP所列的,是计算机的骨架,是地基。其它的技术(计算机操作系统、Unix环境高级编程、计算机网络),应该以这个基架去发散,去深入。

概述

计算机操作系统作为连接硬件和软件的桥梁,提供了一系列的抽象。比如我们熟知的文件就是对一系列I/O设备的抽象,虚拟内存是对主存和磁盘的抽象,还有进程是对处理器、主存、以及I/O设备的抽象。计算机网络提供了一种机制让不同的计算机可以互联通信,从操作系统的角度来说,网络是另一种形式的I/O设备。

处理器是计算机系统的核心,与之关联配套使用的内存子系统。
从最核心处出发,我们需要知道如何代表基本的数据类型,比如整型及其算术。之后,我们需要知道机器级指令是如何操作数据,以及编译器是如何将源码编译成机器指令。