CSAPP 第一章 笔记

发布时间 2023-10-23 13:39:30作者: dddon

硬件组成

  • 总线
  • I/O设备
    键盘,鼠标,显示器,磁盘...
  • 主存
  • 处理器(CPU)
    • 寄存器

hello程序的生命周期

  1. 源文件hello.c
    • 文本文件:位序列
    • 字节:8个位为一组
    • ASCII码
  2. 可执行目标文件
    • Unix:通过编译器驱动程序完成
    • 编译系统
      1. 预处理器
        ‘#’,hello.i
      2. 编译器
        ‘main’,hello.s
      3. 汇编器
        翻译成机器语言指令,打包成可重定位目标程序hello.o
      4. 链接器
        ‘printf’,得到可执行文件hello,存放在磁盘中
  3. 运行hello程序
    1. 键入./hello回车,文件从磁盘复制到主存(DMA技术)

    2. 开始执行程序中的机器语言指令,将字符串从主存复制到寄存器,再复制到显示设备

高速缓存(不懂)

操作系统管理硬件

  • 功能

    1. 防止滥用硬件
    2. 提供简单一致的机制来控制多种硬件
  • 进程

    • 并发运行:多个进程指令交错执行
    • 上下文:跟踪进程运行所需的状态信息
    • 内核:管理全部进程所用代码和数据的集合
  • 线程

    • 一个进程可以由多个线程组成
    • 每个线程运行在进程的上下文中
  • 虚拟内存

  • 网络
    通过系统连接

  • 重要主题

    • 性能提升
    • 并发和并行
    • 抽象的重要性