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 语言设计
- 类型系统
- 作用域管理
- 运行时环境
🔗 与算法关联:语法分析树构建 🔗 与计算机组成关联:指令选择
学习路线建议
-
基础阶段(6-12个月):
- 计算机组成 → 数据结构 → 基础算法
- 配套实践:模拟CPU指令/实现基础数据结构
-
进阶阶段(12-18个月):
- 操作系统 → 计算机网络
- 配套实践:实现简单Shell/网络协议分析
-
深入阶段(12个月+):
- 编译原理 → 分布式系统
- 配套实践:实现小型编译器
知识交叉领域
- 操作系统调度算法 → 算法设计
- 网络协议实现 → 系统编程
- 编译器优化 → 计算机体系结构
推荐资源
📚 经典书籍:
- 《深入理解计算机系统》(CSAPP)
- 《算法导论》
- 《现代操作系统》
🌐 在线学习:
- MIT OpenCourseWare
- Coursera Princeton算法课
- CMU 15-213课程
💻 实战平台:
- LeetCode(算法)
- OSDev.org(操作系统)
- Write your own compiler(编译原理)
建议定期通过项目实践整合知识:
- 实现简单的RISC-V模拟器
- 开发基于TCP的文件传输工具
- 构建支持垃圾回收的脚本语言解释器
这个知识地图需要动态更新,建议:
- 每季度回顾知识掌握程度
- 通过技术博客记录学习心得
- 参与开源项目实践复杂系统