glossary
Glossary:四大件底层术语索引
这份 glossary 的目标不是背单词,而是把术语放回它所属的资源、抽象和失败现象。
读法:
看到术语
-> 先看它属于哪一层
-> 再看它管理什么状态或资源
-> 最后跳到对应章节深入读
1. 通识术语
| 术语 | 最小解释 | 关联章节 |
|---|---|---|
| bit | 机器中最小的信息单位,只有 0/1 | 00-cser-foundations.md、computer-organization/01-binary-data-cpu-memory.md |
| 状态 | 某一刻系统保存的信息 | foundations/01-information-state-transition.md |
| 状态转移 | 系统从一个状态变到另一个状态 | foundations/07-control-flow-state-machine.md |
| 不变量 | 操作前后都必须保持成立的条件 | foundations/01-information-state-transition.md、data-structures/12-selection-guide.md |
| 抽象 | 隐藏细节,只暴露可用接口 | foundations/02-abstraction-interface-layering.md |
| 接口 | 上下层或双方交互的约定 | foundations/02-abstraction-interface-layering.md |
| 协议 | 多方通信时共同遵守的格式和流程 | computer-networks/01-layering-encapsulation.md |
| 成本模型 | 分析时间、空间、等待、复制、切换、退化的框架 | foundations/03-cost-model.md |
| 失败模型 | 系统可能如何出错,以及外部如何观察 | foundations/04-failure-reliability.md |
| 证据链 | 从现象到原因的可验证路径 | foundations/09-debugging-observability.md |
2. 计算机组成原理术语
| 术语 | 最小解释 | 关联章节 |
|---|---|---|
| 补码 | 机器表示有符号整数的常见方式 | computer-organization/02-integer-complement-overflow.md |
| 溢出 | 固定位宽结果超出可表示范围 | computer-organization/02-integer-complement-overflow.md |
| 浮点数 | 用有限 bit 近似表示大范围实数 | computer-organization/03-floating-point.md |
| 程序计数器 PC | 保存下一条指令地址的寄存器 | computer-organization/04-cpu-instruction-execution.md |
| 指令 | CPU 能直接执行的操作编码 | computer-organization/04-cpu-instruction-execution.md |
| 寄存器 | CPU 内部极快的小容量存储 | computer-organization/05-register-alu-control.md |
| ALU | CPU 中执行算术和逻辑运算的部件 | computer-organization/05-register-alu-control.md |
| Cache | 靠近 CPU 的高速缓存 | computer-organization/07-cache.md |
| 缓存行 | Cache 与内存之间搬运的基本块 | computer-organization/07-cache.md |
| 局部性 | 最近访问或附近数据未来仍可能被访问 | computer-organization/06-memory-hierarchy.md |
| DMA | 设备绕过 CPU 大量搬运数据的机制 | computer-organization/09-interrupt-dma.md |
| 中断 | 设备或异常通知 CPU 处理事件的机制 | computer-organization/09-interrupt-dma.md |
3. 数据结构术语
| 术语 | 最小解释 | 关联章节 |
|---|---|---|
| 复杂度 | 操作成本随输入规模增长的趋势 | data-structures/01-complexity-memory.md |
| 摊还复杂度 | 多次操作平均后的成本 | data-structures/02-array-dynamic-array.md |
| 数组 | 连续内存中的同类型元素序列 | data-structures/02-array-dynamic-array.md |
| 链表 | 用指针把离散节点串起来的结构 | data-structures/03-linked-list.md |
| 栈 | 后进先出的受限访问结构 | data-structures/04-stack-queue.md |
| 队列 | 先进先出的等待结构 | data-structures/04-stack-queue.md |
| 哈希表 | 通过 hash 把 key 映射到桶的结构 | data-structures/05-hash-table.md |
| 负载因子 | 哈希表元素数量和桶数量的比例 | data-structures/05-hash-table.md |
| 树 | 层级结构,每个节点有父子关系 | data-structures/06-tree-binary-search-tree.md |
| B+ 树 | 常用于存储系统索引的多路平衡树 | data-structures/07-balanced-tree-btree.md |
| 堆 | 支持快速取最值的近似完全树结构 | data-structures/08-heap-priority-queue.md |
| 图 | 用顶点和边表达复杂关系 | data-structures/09-graph.md |
| Trie | 按字符路径组织字符串前缀的树 | data-structures/10-string-structures.md |
| 布隆过滤器 | 用概率和 bit 压缩存在性判断 | data-structures/11-bitmap-bloom-skiplist.md |
4. 操作系统术语
| 术语 | 最小解释 | 关联章节 |
|---|---|---|
| 进程 | 资源分配和隔离的基本抽象 | operating-systems/01-process-thread-cpu.md |
| 线程 | 进程内的执行流 | operating-systems/01-process-thread-cpu.md |
| 调度 | OS 决定哪个任务使用 CPU | operating-systems/01-process-thread-cpu.md |
| 上下文切换 | CPU 从一个执行流切到另一个执行流 | operating-systems/01-process-thread-cpu.md、operating-systems/11-performance-debugging.md |
| 系统调用 | 用户程序请求内核服务的入口 | operating-systems/02-system-calls.md |
| 虚拟内存 | 让进程看到独立地址空间的机制 | operating-systems/03-memory-management.md |
| 页表 | 虚拟页到物理页框的映射表 | operating-systems/03-memory-management.md |
| TLB | 页表项的高速缓存 | operating-systems/03-memory-management.md |
| 缺页 | 访问的页不在物理内存,需要 OS 处理 | operating-systems/03-memory-management.md |
| 锁 | 保护共享状态的同步机制 | operating-systems/04-concurrency-sync.md |
| 死锁 | 多个执行流互相等待导致无法推进 | operating-systems/04-concurrency-sync.md |
| inode | 文件元数据和数据块位置的索引结构 | operating-systems/05-file-system.md |
| 页缓存 | 内核用内存缓存文件内容 | operating-systems/05-file-system.md |
| Socket | OS 提供的进程间网络通信抽象 | operating-systems/08-socket-network-stack.md |
| namespace | 隔离进程看到的系统视图 | operating-systems/10-virtualization-container.md |
| cgroup | 限制和统计资源使用的机制 | operating-systems/10-virtualization-container.md |
5. 计算机网络术语
| 术语 | 最小解释 | 关联章节 |
|---|---|---|
| 封装 | 上层数据加上下层头部后交给下一层 | computer-networks/01-layering-encapsulation.md |
| MAC 地址 | 链路层同一网络内的网卡标识 | computer-networks/02-physical-link-ethernet.md |
| IP 地址 | 网络层主机或接口的位置标识 | computer-networks/03-ip-subnet-routing.md |
| 路由 | 选择下一跳转发路径 | computer-networks/03-ip-subnet-routing.md |
| ARP | 已知 IP 查同链路 MAC 的协议 | computer-networks/04-arp-icmp-nat.md |
| ICMP | 网络层控制和诊断消息 | computer-networks/04-arp-icmp-nat.md |
| NAT | 私有地址和公网地址之间转换 | computer-networks/04-arp-icmp-nat.md |
| UDP | 不保证可靠的传输层数据报协议 | computer-networks/05-udp.md |
| TCP | 可靠、有序、面向连接的字节流协议 | computer-networks/06-tcp-basics.md |
| 拥塞控制 | TCP 根据网络状态控制发送速率 | computer-networks/07-tcp-flow-congestion.md |
| DNS | 域名到地址等记录的分布式解析系统 | computer-networks/08-dns.md |
| HTTP | 表达请求响应语义的应用层协议 | computer-networks/09-http.md |
| TLS | 提供加密、完整性和身份认证的安全协议 | computer-networks/10-tls-https.md |
| CDN | 把内容放到离用户更近的边缘节点 | computer-networks/11-proxy-gateway-load-balancer-cdn.md |
| 502/503/504 | 常见网关/代理/上游异常状态码 | computer-networks/11-proxy-gateway-load-balancer-cdn.md、computer-networks/12-network-troubleshooting.md |
6. 反向记忆法
遇到一个术语,不要只问“定义是什么”。按这个顺序记:
它属于哪一层?
它管理什么资源或状态?
它提供什么抽象?
它隐藏什么成本?
它失败时外部看到什么?
这样记下来的术语会自然连接到调试、优化和设计。