大题解题模板

把九类 408 综合题拆成知识框架、固定动作、历年题索引和易错清单。

长题综合题实践 解决的是「这道题属于哪种模型」;本节解决的是「模型认出来之后,第一笔写什么」。

四门课的综合题一共九支,每支一页,每页结构相同:知识框架概要 → 落笔怎么写 → 历年题索引 → 易错清单。数据结构的算法设计题另见算法设计题解题框架。第一节是可以在草稿纸上默画出来的骨架(例如地址翻译只有 VA = VPN ‖ 偏移 → TLB → 页表 → PA 这一条链);第二节是骨架认出来之后落笔的口径。

第二节的写法分两种,因为九支题本身就分两种:

  • 确有先后次序的两支写成「第几步」——数的表示与运算存储系统,上一步的结果是下一步的输入,跳步就算不下去,所以这两页的小节是 解题流程模板
  • 其余各支的小问是并列的题型,散列表和 AOE 网、地址题和时间题之间没有先后,硬编成「第一步、第二步」反而误导,所以这些页的小节是 解题注意点,认出题型之后挑对应的一条用。

知识点原理不在这里重复,需要回去补的地方直接给链接。

覆盖的题号第一笔写什么
数据结构大题41、42认出对象:散列表 / 图 / AOE / 树 / 排序
数的表示与运算43 附近先写字长、类型和取值范围
存储系统43~46把所有容量换算成位数
CPU 与指令系统43、44把字段翻成一句寄存器传送
I/O 计算43、44定「一次传送多少字节」
进程同步与信号量45、46先写信号量声明段和初值
进程调度与状态转换45、46把题干抄成一条时刻线
文件系统与磁盘45、46算「一块能放几个地址项」
计算机网络综合题47先定这一问落在哪一层

考场决策树

先按题干的动作分流,再进入对应页面:

先看题目要你做什么
├─ 写算法、代码、复杂度       → 算法设计题框架
├─ 按规则逐轮填表/画图         → 数据结构大题
├─ 算位数、地址、时间、次数    → 看关键词进入数的表示 / 存储 / I/O / 文件系统 / 网络
├─ 写 RTL、控制信号、机器码    → CPU 与指令系统
├─ 写 P/V、前趋边、互斥        → 进程同步与信号量
└─ 排时刻线、判状态、解释机制  → 进程调度与状态转换

进入页面后,先抄“第一笔写什么”,再做计算或模拟;不要先凭记忆套公式。

先认板块

题号只能作参考:2014、2016、2019 三年的科目顺序被打乱过,组原不一定在 43、44,网络也不一定在 47。真正可靠的是题干里的关键词。

题干里出现去哪一页
散列函数、装填因子、邻接矩阵、活动与工期、归并段数据结构大题
一小段 C 代码问机器数、会不会溢出、IEEE754数的表示与运算
Cache 数据区容量、路数、块大小、页大小、命中率、缺失损失存储系统
指令格式图、字段含义表、数据通路图、虚线控制信号、节拍CPU 与指令系统
定时查询、中断、DMA、数据传输率、CPU 时间占比I/O 计算
若干进程或线程共享资源、前趋图、P/V 或 wait/signal进程同步与信号量
到达时刻与运行时间表、时间片、优先级、饥饿、系统调用步骤排序进程调度与状态转换
目录项、inode、FAT、索引块、位示图、磁道与扇区文件系统与磁盘
子网掩码、路由表、MAC 与 IP、RTT 与拥塞窗口、帧长计算机网络综合题

同一门课的两道综合题常常连做:组原一道给指令格式、一道给它的数据通路或 Cache;操作系统一道考同步、一道考存储或文件。两道题共用一台机器的参数时,第一题算出的位数直接抄到第二题。

如果某一门的整体结构还没搭起来,先看 核心知识图谱 里对应的一章。图谱管的是知识之间的完整关系,本节每页开头的「知识框架概要」只截取考场上真正要用的那条主干。

交卷前的三项检查

  1. 每一个位数、每一个初值都能说出它来自题干的哪个条件;
  2. 每一个数字都带单位,且单位口径前后一致;
  3. 每一问答的对象和题目问的对象严格对上——问「行号」不要答「组号」,问「页表项的虚拟地址」不要只给物理地址,问「所有方案」不要只给一种。

落笔写到什么程度、怎样保住过程分,见 408 大题书写实践

示例与评分

每页的历年题索引适合选题,真正练习时建议打开对应真题,按“题干条件 → 第一笔 → 中间过程 → 结论”四行写草稿。答案中保留单位、状态变化、地址分解和选择理由;只写最终数字通常只能拿结果分。遇到评分说明时,优先按评分点逐项作答,再压缩无关叙述。

例如 Cache 数据区 1 KB、2 路组相联、块大小 16 B:先写 组数 = 1024 ÷ (2 × 16) = 32,再写 块内地址 4 位、组号 5 位,最后由题给物理地址位数求 Tag。这样“容量换算”(过程分)和“字段划分”(结果分)都不会混在一个数字里。


数据结构大题

手工推导题的固定动作:先认对象,再按该对象唯一的那套恒等式或逐轮表落笔。

数的表示与运算

位串解释、类型转换、溢出判断与 IEEE754 题的固定动作:先定位数和范围,再把每条 C 语句翻成位串。

存储系统

Cache 与虚拟内存综合题的固定动作:容量换位数、画地址分解链、按问法对号入座。

CPU 与指令系统

指令格式、数据通路与控制信号题的固定动作:字段翻成寄存器传送、清点位宽、读结构图、逐拍写信号。

I/O 计算

查询、中断、DMA 三种方式共用的开销模型,加上磁盘时间与单位统一的固定口径。

进程同步与信号量

信号量大题的固定动作:先声明信号量和初值,再按「先资源后互斥」的次序排 P/V。

进程调度与状态转换

调度与概念论述题的固定动作:先把题干抄成一条时刻线,再逐时刻答「谁在运行、进程什么态、CPU 什么态」。

文件系统与磁盘

文件系统题的固定动作:定位一次访问要读几块,再按物理结构套最大文件长度和访盘次数。

计算机网络综合题

网络大题的固定动作:先定这一问落在哪一层,再按地址、封装、时间三套口径分别落笔。