1. 计算机组成原理(底层基础)

1.1 数字逻辑基础

  • 布尔代数
  • 组合逻辑电路
  • 时序逻辑电路

1.2 计算机体系结构

  • 冯·诺依曼体系
  • CPU工作原理(ALU/控制单元/寄存器)
  • 指令集架构(CISC/RISC)
  • 总线系统
  • 存储器层次结构

1.3 输入输出系统

  • 中断机制
  • DMA传输
  • 常见外设接口

🔗 与操作系统关联:中断处理、内存管理硬件支持

2. 操作系统(核心枢纽)

2.1 系统内核

  • 进程管理(PCB/调度算法/进程通信)
  • 内存管理(分页/分段/虚拟内存)
  • 文件系统(VFS/存储结构)
  • 设备驱动

2.2 系统设计

  • 同步机制(信号量/管程)
  • 死锁处理
  • 安全机制

2.3 现代操作系统

  • 微内核架构
  • 容器化技术
  • 分布式系统

🔗 与编译原理关联:系统调用实现 🔗 与计算机网络关联:Socket实现

3. 算法与数据结构(核心工具)

3.1 基础数据结构

  • 线性结构(数组/链表/栈/队列)
  • 树结构(二叉树/堆/AVL树)
  • 图结构(邻接表/矩阵)

3.2 算法范式

  • 分治策略
  • 动态规划
  • 贪心算法
  • 回溯算法

3.3 高级算法

  • 图算法(Dijkstra/Kruskal)
  • 字符串匹配(KMP/BM)
  • 并行算法

🔗 与编译原理关联:语法分析算法 🔗 与计算机网络关联:路由算法

4. 计算机网络(通信层)

4.1 网络体系结构

  • OSI七层模型
  • TCP/IP协议栈

4.2 核心协议

  • HTTP/HTTPS
  • TCP/UDP
  • IP/ICMP
  • DNS

4.3 网络安全

  • 加密算法(对称/非对称)
  • 数字证书
  • 防火墙技术

🔗 与操作系统关联:网络协议栈实现

5. 编译原理(语言桥梁)

5.1 编译流程

  • 词法分析(正则表达式/有限自动机)
  • 语法分析(LL/LR文法)
  • 语义分析
  • 中间代码生成
  • 代码优化
  • 目标代码生成

5.2 语言设计

  • 类型系统
  • 作用域管理
  • 运行时环境

🔗 与算法关联:语法分析树构建 🔗 与计算机组成关联:指令选择

学习路线建议

  1. 基础阶段(6-12个月):

    • 计算机组成 → 数据结构 → 基础算法
    • 配套实践:模拟CPU指令/实现基础数据结构
  2. 进阶阶段(12-18个月):

    • 操作系统 → 计算机网络
    • 配套实践:实现简单Shell/网络协议分析
  3. 深入阶段(12个月+):

    • 编译原理 → 分布式系统
    • 配套实践:实现小型编译器

知识交叉领域

  • 操作系统调度算法 → 算法设计
  • 网络协议实现 → 系统编程
  • 编译器优化 → 计算机体系结构

推荐资源

📚 经典书籍:

  • 《深入理解计算机系统》(CSAPP)
  • 《算法导论》
  • 《现代操作系统》

🌐 在线学习:

  • MIT OpenCourseWare
  • Coursera Princeton算法课
  • CMU 15-213课程

💻 实战平台:

  • LeetCode(算法)
  • OSDev.org(操作系统)
  • Write your own compiler(编译原理)

建议定期通过项目实践整合知识:

  1. 实现简单的RISC-V模拟器
  2. 开发基于TCP的文件传输工具
  3. 构建支持垃圾回收的脚本语言解释器

这个知识地图需要动态更新,建议:

  1. 每季度回顾知识掌握程度
  2. 通过技术博客记录学习心得
  3. 参与开源项目实践复杂系统