程序员的自我修养

  • 讲解逻辑
    1. 第一章,从hello,world说起
      • 介绍计算机的组成,三大基本部分<cpu,内存,io设备>
      • 硬件的发展及设计模式
        • cpu,内存.io设备在同一个总线中
        • cpu发展快,频率高,计算快,分成两个区,南桥<内存,io设备,统一请求发送到北桥>,北桥<cpu,计算很快>
        • cpu因硬件极限突破缓慢,如何增加pc性能 对称多核处理器 多核处理器
      • 软件的发展及设计模式
        • 最初pc只运行一个程序,如何运行多个程序<操作系统>
        • cpu的资源调度 分时系统, 多任务系统<抢占式>
        • 硬件驱动 <通过它提供的接口来调用硬件资源>
        • 文件系统<文件的读取存储>
        • 内存的分配<虚拟内存,分段,分页>
        • 多线程的数据访问,线程安全,原子操作,同步与锁,条件变量,cpu乱序执行,用户态线程,内核态线程
    2. 静态编译
      • 词法分析,语法分析<语法树, 解析表达式>,语义分析<解析表达式是否规范>
      • 链接器的产生与底层原理<重定位>
    3. 目标文件有什么 81
      • 目标文件的发展史,<windows是基于coff格式的pe格式linux是基于pe的elf格式>