README · foundations
CS 通识基础
这一部分放在四大件之前。它的目标是先建立“底层共同语言”,让后面的数据结构、网络、操作系统、组成原理都能接在同一套模型上。
学习路线
| 顺序 | 章节 | 核心问题 |
|---|---|---|
| 01 | 信息、状态与状态转移 | 程序到底在处理什么 |
| 02 | 抽象、接口与分层 | 为什么复杂系统能被人理解 |
| 03 | 成本模型 | 为什么同样能跑的程序,差距可以巨大 |
| 04 | 失败模型与可靠性 | 为什么系统必须考虑异常、并发和部分失败 |
| 05 | 表示、边界与解释规则 | 为什么同一段 bit 会变成不同意义 |
| 06 | 数据搬运、缓冲与缓存 | 为什么程序经常慢在“搬数据” |
| 07 | 控制流、状态机与协议 | 为什么程序和协议都可以看成状态机 |
| 08 | 并发、时间与顺序 | 为什么“同时发生”会让问题变难 |
| 09 | 调试、观测与证据链 | 如何从现象追到底层原因 |
读完要形成的直觉
- bit 没有天然意义,意义来自解释规则。
- 程序是状态转移,不是孤立语句集合。
- 抽象让系统可用,底层知识让你知道抽象边界。
- 任何设计都有成本,性能来自资源和访问模式。
- 真实系统不是只看“正常路径”,还要看失败路径。
- 控制流决定状态如何变化,协议本质也是状态变化规则。
- 调试不是猜原因,而是建立可验证的证据链。