CSAPP Ch1 计算机系统漫游

It is better to fail in originality than to succeed in imitation.

计算机系统漫游

  • 计算机系统是由硬件系统软件组成的
  • 源程序中由ASCII字符构成的文件称为文本文件, 所有其他文都称为二进制文件
  • 预处理阶段预处理器根据以字符#开头的命令,修改原始C程序,读取系统头文件的内容,并把它直接插入程序文本中,如:
    1
    2
    3
    #if 0
    --
    #endif
  • 字(word): 总线传送定长字节块的大小
  • 磁盘驱动器(HDD)简单说其实就是磁盘
  • 适配器: 插在主板插槽的卡(比如图形适配器,显示屏); 控制器:I/O设备本身或系统主板上的芯片组
  • 在键盘上读取hello命令。通过将数据读取到KBDR中(中间涉及到ASCII到Binary的转换),再将KBDR中的数据存入主存中。整个过程需要CPU参与,引出了概念可编程I/O
  • 因此也延伸出了优化的方案(使用DMA)
  • 将字符串显示到显示器上。通过将数据写入到DDR中(要将Binary转换为ASCII),再将DDR中的数据显示到图形适配器上
  • Cache产生的原因:随着时间的推移DRAM的性能和Disk相差三个数量级; Cache充分利用了局部性原理
  • Posix标准:标准化Unix的开发
  • 上下文切换涉及到PC寄存器组的Save和Restore
    存储器层次结构
  • 进程虚拟内存中的内容存储在磁盘上,而主存作为磁盘的缓存, 造成容量又大速度又快的假象。
    进程虚拟地址空间
  • Unix I/O的读写系统调用为逻辑读写
  • 通过网络适配器可以在不同主机之间在交换主存中的数据
  • Amdahl's law: $S=\frac{1}{(1-\alpha)+\alpha/k}$, 其中$S$为加速比, $\alpha$为提高部分的执行时间占总时间的比例, $k$为该部分性能提升的比例; 其中2.2倍可以表示为2.2x
  • TLP, ISP, SIMD
  • Abstraction