从买电脑到408的知识地图

最近在研究408,按照自己对408的学习理解,写了一份知识点地图。更详细的内容会写在另外的篇章《杂谈:计算机知识补盲》里。

1.个人需求:我为什么要一台电脑
2.个人PC的硬件与软件与编码学习:这台电脑怎么跑起来
3.基本联网需求:几台设备怎么连起来
4.更大的服务需求因特网:如何访问远方服务
5.开发者与用户之间复杂的开发需求/使用需求:如何做出并维护这些服务

根据我自己容易理解的学408的思路是这样的:

个人需求决定买什么 → 个人PC决定怎么跑 → 基本联网决定怎么连 → 因特网决定怎么服务远方 → 开发与使用决定怎么造和维护系统

从买电脑到408的知识地图总览表:

1. 个人需求:从“我要买一台电脑”开始

这一段解决的问题:计算机不是“写代码+修电脑”,而是一个庞大产业。你不需要全学,但要从个人需求切入,知道自己未来可能专研哪几个分支。

放入内容:

  • 计算机产业与细分分支:硬件制造、芯片设计、操作系统、网络、数据库、应用软件、安全、嵌入式、云计算等。
  • 买笔记本还是台式组装机。
  • 笔记本:商家、品牌、产品参数、售后、散热、功耗、屏幕、接口。
  • 台式:硬件与外设区分,厂家/工厂/品牌,装机流程,装机安全(防静电、断电、兼容性)。
  • 电脑开机需要哪些固件:BIOS/UEFI、固件、引导程序、不可或缺的固件。
  • 冯·诺依曼体系:存储程序、五大部件(运算器、控制器、存储器、输入、输出)。
  • 外设与DIY:键盘、鼠标、显示器、打印机;单板机、单片机、树莓派、手搓键盘。

408对应:计组“计算机系统概述”“冯·诺依曼结构”“计算机硬件组成”。

这里只放“入门动机”和“整机概念”。


2. 个人PC的硬件与软件与编码学习:这台电脑为什么能跑程序

这是最庞大的一段,也是408三门课的主战场。

分成四层:硬件层 → 系统层 → 编码层 → 数据与算法层。

2.1 硬件层:电脑物理上怎么工作

放入内容:

  • CPU:功能与基本结构、运算器、控制器、寄存器组。
  • 指令系统:指令格式、扩展操作码、寻址方式、CISC与RISC区别、指令执行流程。
  • 指令周期:取指、译码、执行、访存、写回。
  • 数据通路、控制器:硬布线控制器、微程序控制器(微指令格式、微命令编码、微地址形成)。
  • 指令流水线:结构冲突、数据冲突、控制冲突;转发/旁路、停顿、分支预测;吞吐率、加速比、效率。
  • 存储层次:寄存器 → L1/L2/L3 Cache → 主存 → 外存。
  • Cache:地址映射(直接、全相联、组相联)、替换算法(LRU/FIFO/随机)、写策略(写直达/写回)。
  • 主存与CPU连接:位扩展、字扩展。
  • 虚拟存储器:页式、段式、段页式(与OS交叉)。
  • 总线系统:总线分类、总线结构、总线仲裁、总线操作与定时、总线宽度、总线带宽、总线复用。
  • I/O系统:I/O接口功能与结构、I/O控制方式(程序查询、中断、DMA、通道)。
  • 中断系统:中断响应、中断向量、中断嵌套、中断屏蔽、保护现场与恢复现场。
  • DMA:DMA控制器、DMA传送过程。
  • 主板芯片组:北桥、南桥的历史与作用;低速外设如何通过南桥接入CPU。
  • 接口科普:从老到新,USB、SATA、PCIe、HDMI、雷电等。
  • 显卡与显存:GPU、显存、帧缓冲、显示输出。
  • 电流、频率、电脉冲、时钟:为什么硬件依赖0和1的机器语言。
  • 性能指标:CPI、MIPS、CPU执行时间、Amdahl定律。

408对应:计组核心。

2.2 系统层:操作系统如何管理这台电脑

放入内容:

  • 操作系统概念、功能、特征:并发、共享、虚拟、异步。
  • 操作系统结构:宏内核、微内核。
  • CPU运行模式:用户态/内核态、特权指令、状态寄存器。
  • 中断和异常处理:OS视角;系统调用如何陷入内核。
  • 程序运行环境:程序的链接与装入、程序运行时的内存映像与地址空间。
  • 进程与线程:PCB、状态转换、上下文切换。
  • CPU调度:FCFS、SJF、RR、优先级、多级反馈队列。
  • 进程间通信。
  • 同步与互斥:临界区、信号量PV操作、管程。
  • 经典同步问题:生产者-消费者、读者-写者、哲学家进餐。
  • 死锁:四个必要条件、预防、银行家算法、检测与解除。
  • 内存管理:连续分配、分页、分段、段页式、地址重定位。
  • 虚拟内存:分页缺页、页面置换算法(OPT/FIFO/LRU/CLOCK)、页面分配策略、抖动与工作集。
  • TLB与多级页表:快表、页表协同。
  • 文件管理:文件逻辑结构、物理结构、目录结构、FCB、inode。
  • 文件存储空间管理:位示图、空闲链表、成组链接。
  • I/O管理:I/O控制方式、缓冲技术、设备独立性、SPOOLing。
  • 磁盘管理:磁盘调度算法(FCFS、SSTF、SCAN、C-SCAN)、格式化与分区。
  • 系统分类与基础命令:Windows、macOS、Linux、Unix;最大区别与基础命令。
  • 系统挂起、软件如何储存在内存、堆栈储存。

408对应:操作系统核心。

2.3 编码层:程序如何从人类语言变成机器语言

放入内容:

  • 机器语言、汇编语言、高级程序语言。
  • 汇编与编译。
  • 编译过程:词法分析、语法分析、语义分析、中间代码、优化、目标代码。
  • 数据的表示和运算:原码、反码、补码、移码。
  • 二进制、十进制、十六进制、ASCII码。
  • 定点数加减乘除:补码加减、Booth乘法、恢复余数除法。
  • IEEE 754浮点数:单精度/双精度、浮点加减、舍入、溢出判断。
  • ALU组成与功能、溢出判断。
  • 寻址方式如何寻址、堆栈储存、显存如何运作。

408对应:计组“数据的表示和运算”;编译原理不在408统考,但属于开发基础。

2.4 数据与算法层:程序如何组织数据

放入内容:

  • 线性表:顺序存储、链式存储、单链表、双链表、循环链表、静态链表。
  • 栈、队列和数组:顺序/链式实现、表达式求值、递归、层次遍历、缓冲区。
  • 串:字符串匹配、KMP算法、next数组。
  • 树与二叉树:定义、性质、存储、遍历、线索二叉树。
  • 树与森林:存储、与二叉树转换、遍历。
  • 哈夫曼树与哈夫曼编码。
  • 并查集。
  • 图:邻接矩阵、邻接表、邻接多重表、十字链表;DFS、BFS;最小生成树(Prim、Kruskal);最短路径(Dijkstra、Floyd);拓扑排序;关键路径。
  • 查找:顺序、分块、折半;二叉搜索树、AVL、红黑树、B树、B+树;散列表;KMP。
  • 排序:插入、冒泡、选择、希尔、快速、堆、归并、基数;外部排序(多路归并、败者树、置换-选择)。
  • 算法设计与C/C++:线性表、二叉树、图、查找四大高频题型;算法设计思想、C语言描述、时空复杂度。

408对应:数据结构全科。


3. 基本联网需求:几台电脑如何在小范围互通

这一段解决的问题:家里、宿舍、实验室几台设备怎么连起来,怎么传文件、共享打印机、上网。

放入内容:

  • 局域网、有线网络、无线网络。
  • 传输介质:双绞线、同轴电缆、光纤、无线。
  • 网线材质、水晶头、接口。
  • 网络硬件:网卡、交换机、路由器、AP、网桥。
  • 网络软件:协议栈、驱动、网络配置。
  • 网络安全与病毒:基础概念。
  • 接口和局域网如何提供小范围服务:文件共享、打印共享、本地服务器。

按网络分层放入:

  • 物理层:通信基础、信道、信号、码元、波特率、比特率;奈奎斯特定理、香农定理;编码与调制(曼彻斯特、差分曼彻斯特、不归零、ASK/FSK/PSK);信道复用(FDM/TDM/WDM/CDM);电路交换、报文交换、分组交换。
  • 数据链路层:封装成帧、透明传输、差错控制;奇偶校验、CRC;流量控制(停止-等待、GBN、SR);介质访问控制(CSMA/CD、CSMA/CA、轮询、令牌);以太网与MAC地址;PPP协议;网桥与交换机。
  • 网络层:IPv4地址与子网划分、CIDR、子网掩码、VLSM;ARP;DHCP;ICMP;路由算法(RIP、OSPF);NAT;IPv6基本概念。
  • 传输层:UDP特点与场景;TCP连接管理(三次握手、四次挥手);可靠传输(序号、确认、超时重传、滑动窗口);流量控制;拥塞控制(慢启动、拥塞避免、快重传、快恢复)。
  • 应用层基础:DNS层次结构与解析;HTTP请求/响应报文;FTP控制连接与数据连接;SMTP、POP3、IMAP;WWW工作过程;Cookie与Session。
  • 网络性能指标:带宽、时延、时延带宽积、RTT、利用率。

408对应:计算机网络核心。


4. 更大的服务需求因特网:如何让全世界互相提供服务

这一段解决的问题:从局域网扩展到Internet,如何访问网站、发邮件、订票、用数据库、用云服务。

放入内容:

  • Internet、ISP、主干网、接入网。
  • 客户端与服务端模型。
  • 各种协议:HTTP、FTP、SMTP、DNS、HTTPS。
  • 邮件如何收发:SMTP发送、POP3/IMAP接收。
  • 订票系统、数据库系统:关系模型、SQL、事务、ACID、并发控制、索引。
  • 浏览器如何运作、提供什么服务、属于什么系统。
  • WWW工作过程:URL、DNS、TCP连接、HTTP请求、服务器响应、浏览器渲染。
  • DNS层次结构与解析:递归、迭代。
  • HTTP请求/响应报文、持久连接、Cookie与Session。
  • 网络安全:对称加密、非对称加密、数字签名、证书、HTTPS/TLS、防火墙、DMZ。
  • 云计算与虚拟化:Hypervisor、KVM、VMware;容器Docker;IaaS、PaaS、SaaS。
  • CDN、负载均衡、反向代理。
  • 大型系统:分布式、微服务、消息队列、缓存。

408对应:网络应用层、网络安全;OS虚拟化;数据库不在408统考,但属于系统能力。


5. 开发者与用户之间复杂的开发需求/使用需求

这一段解决的问题:如何从“会用电脑”变成“开发并维护别人用的系统”。这是第2段编码学习和第4段因特网服务的交汇。

放入内容:

  • 软件开发流程:需求、设计、编码、测试、部署、运维。
  • 编译原理:词法、语法、语义、中间代码、优化、目标代码。
  • 数据库系统:关系模型、SQL、事务ACID、并发控制、隔离级别、索引B+树。
  • 操作系统API与系统调用:文件、进程、内存、网络。
  • Socket编程:网络协议栈与OS系统调用的接口。
  • 分布式系统:一致性、容错、复制、分区。
  • 微服务、API网关、消息队列、缓存。
  • 版本控制、CI/CD、测试、监控、日志。
  • 安全与隐私:认证、授权、加密、漏洞、病毒、攻击与防护。
  • 人机交互与用户体验:浏览器、App、Web、桌面软件。
  • 法律、伦理、商业:开源协议、隐私法规、产业分工。

跨学科连接点:

  • 虚拟内存:计组Cache/存储 + OS内存管理。
  • 中断与系统调用:计组中断 + OS用户态/内核态。
  • Socket:网络协议 + OS系统调用。
  • B+树:数据结构 + 文件系统 + 数据库索引。
  • 流水线:计组CPU + 编译优化。
  • 缓存:计组Cache + 网络CDN + 数据库缓存。

408对应:跨学科综合题的主要来源。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

You Found Me.

支付宝
微信