软考
计算机基础速查表
综合知识基础模块高频计算与对比:系统基础/OS/数据库/网络/安全(可靠性、校验码、PV、页面置换、范式、事务、加密)
一句话定位
综合知识基础模块必拿分项:可靠性计算、校验码、PV/死锁、页面置换、范式、事务并发、加密算法对照,全套速查表与例题。
NOTE
本表涵盖计划 §3.1~§3.4 与 §3.10,适合考前快速复习与模考错题定位(来源:近 10 年真题统计)。
A. 计算机系统基础(可靠性、校验码、流水线)
| 知识点 | 公式/要点 | 易错点 | 真题示例 |
|---|---|---|---|
| 可靠性 | 串联:R = R1 × R2 × …;并联:R = 1 - (1-R1)(1-R2)…;混联:先分组再串并 | 混联分组顺序影响结果 | 2021-05:三串两混联,R=0.9 |
| MTBF/MTTR | 可用性 A = MTBF/(MTBF+MTTR);MTBF 平均无故障时间,MTTR 平均修复时间 | 单位一致(小时/天) | 2022-11:MTBF=5000h,MTTR=8h,求 A |
| 海明码 | 校验位数 k:2^k ≥ n+k+1;校验位位置 2^i;校验规则 P_i = Σ 信息位(i 位为1)⊕ 校验位 | 奇偶校验规则(奇/偶) | 2020-11:信息位 7 位,求海明码 |
| CRC | 生成多项式 G(x);余数 CRC = M(x) mod G(x);发送:T(x) = M(x)·2^r + CRC | 模 2 除法(不进位不借位) | 2019-11:G(x)=1011,求 CRC |
| 流水线 | 执行时间 = (k+n-1) × Δt;加速比 S = n·Δt/(k+n-1)Δt;吞吐率 TP = n/[(k+n-1)Δt] | k 为流水线段数 | 2023-11:5 段流水线,10 指令,求加速比 |
IMPORTANT
可靠性计算与校验码在综合知识中必出,建议考前再刷 5~10 题,确保公式不混淆。
可靠性计算例题
基础例
系统由 3 个串联部件组成,可靠度分别为 0.9、0.95、0.99,求系统可靠度。
- 解:R = 0.9 × 0.95 × 0.99 = 0.84645 ≈ 0.846
进阶例
系统为两并联再串联:两部件(R=0.9)并联,再与 R=0.95 串联。
- 解:并联 R1 = 1 - (1-0.9)(1-0.9) = 0.99;系统 R = 0.99 × 0.95 = 0.9405
真题例(2021-05)
三部件混联:部件 A 与 B 串联后与部件 C 并联,各部件 R=0.9。
- 解:AB 串联 R_AB = 0.9×0.9=0.81;系统 R = 1 - (1-0.81)(1-0.9) = 1 - 0.19×0.1 = 0.981
海明码例题
基础例
信息位 4 位(d4d3d2d1),求海明码。
- 校验位数 k:2^3 ≥ 4+3+1=8,k=3(P1,P2,P4)
- 填充位置:P1 d1 P2 d2 P3 d4 P4(位置 1,2,4 为校验位)
- 计算:P1 = d1⊕d2⊕d4;P2 = d1⊕d3⊕d4;P4 = d2⊕d3⊕d4(假设偶校验)
进阶例
信息位 7 位,求海明码位数。
- n=7,k 最小:2^4 ≥ 7+4+1=12,k=4
真题例(2020-11)
信息 1011,求偶校验海明码。
- k=3;填充:P1 1 P2 0 P3 1 P4;计算 P1=1⊕0⊕1=0;P2=1⊕1⊕1=1;P4=0⊕1⊕1=0;结果:0101011
CRC 例题
基础例
信息 M=1010,生成多项式 G=1011,求 CRC(3 位)。
- M·2^3 = 1010000;模 2 除 1010000 ÷ 1011 = 余数 110;T=1010110
进阶例
G=11001,求 4 位 CRC。
- 将 M 后补 4 个 0,再模 2 除
真题例(2019-11)
G(x)=x^3+x+1(对应 1011),信息 1101,求 CRC。
- M·2^3 = 1101000;1101000 ÷ 1011 = 余数 011;T=1101011
流水线例题
基础例
5 段流水线(Δt=10ns),10 条指令,求执行时间与加速比。
- 时间 = (5+10-1)×10ns = 140ns;加速比 S = 10×10ns / 140ns ≈ 0.714(不大于 1,因流水线空排)
进阶例
3 段流水线,Δt=5ns,100 指令。
- 时间 = (3+100-1)×5 = 510ns;吞吐率 TP = 100/510ns ≈ 196 指令/μs
真题例(2023-11)
5 段流水线,10 指令,Δt=2ns,求加速比。
- 时间 = 14×2=28ns;非流水线时间 = 10×5×2=100ns;S=100/28≈3.57
B. 操作系统(进程调度、PV、死锁、内存管理)
| 知识点 | 对比/公式 | 计算要点 | 易错点 |
|---|---|---|---|
| 进程调度算法 | FCFS:先来先到;SJF:短作业优先;RR:时间片轮转;优先级:静态/动态;多级反馈队列 | SJF 平均等待时间最小 | RR 时间片过大退化为 FCFS |
| PV 操作 | P(S):S=S-1;若 S<0 则阻塞;V(S):S=S+1;唤醒等待进程 | 信号量初值设定:互斥 S=1,同步 S=0 | 生产者-消费者中缓冲区满/空判断 |
| 死锁四条件 | 互斥、占有且等待、不可抢占、循环等待 | 银行家算法:安全序列检测 | 死锁预防需破坏其中任一条件 |
| 页面置换算法 | OPT:最佳置换;FIFO:先进先出;LRU:最近最少用;CLOCK:改进版 FIFO | 缺页率 = 缺页次数 / 访问页面总数 | LRU 实现成本高,CLOCK 为近似实现 |
| 磁盘调度 | SCAN:电梯算法;C-SCAN:单向扫描;LOOK:变种 SCAN | 平均寻道时间计算 | SCAN 与 C-SCAN 的方向区分 |
IMPORTANT
案例分析常考 PV 操作与页面置换计算,综合知识考调度算法对比,务必背熟信号量初值规则。
进程调度算法对比
| 算法 | 原理 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| FCFS | 按到达顺序 | 公平、实现简单 | 可能导致”护航效应” | 批处理系统 |
| SJF | 最短作业优先 | 平均等待时间最小 | 难以预估执行时间;可能饥饿 | 作业调度 |
| RR | 时间片轮转 | 响应时间好;公平 | 时间片过大退化为 FCFS;频繁切换开销 | 分时系统 |
| 优先级 | 按优先级调度 | 灵活;可区分任务紧急度 | 低优先级可能饥饿;需防饥饿策略 | 实时系统 |
| 多级反馈队列 | 多队列+时间片+降级 | 兼顾短作业与长作业;响应快 | 参数多、调优复杂 | 通用调度器 |
PV 操作例题
基础例
生产者-消费者问题:缓冲区大小 5。
- mutex=1(互斥访问缓冲区),empty=5(空闲槽),full=0(已占槽)
- 生产者:P(empty); P(mutex); 放入产品; V(mutex); V(full)
- 消费者:P(full); P(mutex); 取出产品; V(mutex); V(empty)
进阶例
读者-写者问题:允许多读者同时读,写者独占。
- mutex=1(写者互斥),wmutex=1(读写互斥),readcount=0,rmutex=1(读计数保护)
- 读者:P(rmutex); readcount++; if readcount==1 then P(wmutex); V(rmutex); 读操作; P(rmutex); readcount—; if readcount==0 then V(wmutex); V(rmutex)
- 写者:P(wmutex); 写操作; V(wmutex)
真题例(2022-11)
3 生产者 2 消费者,缓冲区 4。
- empty=4, full=0, mutex=1;初始空闲 4,已占 0
死锁例题
基础例
系统 4 进程,3 类资源 A(4), B(2), C(3),当前分配与需求如下:
- P1: 已分 A1B0C0,需 A2B1C1
- P2: 已分 A2B0C1,需 A1B1C0
- 判断是否死锁:先试分配,若剩余不足且无进程能完成则死锁
进阶例
银行家算法:检查是否安全。
- 计算需求矩阵 = 最大需求 - 已分配
- 尝试满足某一进程的需求,释放其资源后继续,最终若有完整序列则安全
真题例(2023-05)
进程 P1-P3,资源 R1(5), R2(3),当前分配与需求,判断安全序列。
页面置换算法对比
| 算法 | 思想 | 命中率 | 实现难度 | 缺页场景 |
|---|---|---|---|---|
| OPT | 淘汰未来最久不用的页 | 最高(理论最优) | 需预知未来访问序列 | 无法实现,仅作比较基准 |
| FIFO | 淘汰最早进入内存的页 | 低 | 简单(队列) | 可能出现”Belady 异常” |
| LRU | 淘汰最近最久未用的页 | 较高 | 需维护访问时间戳/链表 | 实现开销大 |
| CLOCK | 近似 LRU,用访问位标记 | 中等 | 环形队列+指针 | 时间复杂度 O(n) |
页面置换例题
基础例
访问序列:1,2,3,4,1,2,5,1,2,3,4,5,物理块 3,LRU 缺页次数。
- 缺页:1,2,3,4,5,3,4,5 = 8 次
进阶例
FIFO 情况下,同序列缺页次数。
- 缺页:1,2,3,4,5,1,2,3,4 = 9 次(Belady 异常可能发生)
真题例(2021-11)
序列 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,物理块 3,LRU 缺页次数。
- 缺页:7,0,1,2,3,4,1,7 = 8 次(需逐页模拟)
C. 数据库系统(范式、事务、并发、封锁)
事务隔离级别对比
| 隔离级别 | 脏读 | 不可重复读 | 幻读 | 实现机制 | 适用场景 |
|---|---|---|---|---|---|
| 读未提交 | 可能 | 可能 | 可能 | 无封锁 | 极少使用,仅用于特殊分析 |
| 读已提交 | 避免 | 可能 | 可能 | 写锁+读锁 | 多数数据库默认级别 |
| 可重复读 | 避免 | 避免 | 可能 | MVCC/间隙锁 | 适合金融事务 |
| 串行化 | 避免 | 避免 | 避免 | 全表锁 | 强一致性要求场景 |
TIP
脏读:读到未提交数据;不可重复读:同一事务两次读取结果不同;幻读:范围查询出现新行。
范式例题
基础例
关系 R(A,B,C,D),函数依赖:A 依赖 B, B 依赖 C。
- 1NF:属性原子性(满足)
- 2NF:消除非主属性对码的部分依赖。码为 A,B 依赖于 A(满足)
- 3NF:消除传递依赖。A 依赖 B 依赖 C 为传递,需分解为 R1(A,B), R2(B,C)
进阶例
R(A,B,C,D,E),函数依赖包含 A 到 B、B 到 C、C 到 D、D 到 E。
- 码为 A。存在 A 到 B 到 C 到 D 到 E 的多级传递依赖,需分解为 R1(A,B), R2(B,C), R3(C,D), R4(D,E) 达到 3NF
真题例(2022-05)
R(A,B,C,D),函数依赖包含 AB 到 C、C 到 D。
- 码为 AB。C 到 D 为部分依赖(C 为非主属性),分解为 R1(AB,C), R2(C,D)
事务并发例题
基础例
T1: 读 X=100; T2: 写 X=200; T1: 读 X=200(读已提交下避免脏读,但仍可能不可重复读)
进阶例
T1: 查询 A=1..10;T2: 插入 A=6;T1: 再次查询 A=1..10(幻读,需可重复读或串行化避免)
真题例(2023-11)
分析以下调度是否可串行化:
- 调度:T1: R(A), T2: W(B), T1: W(B), T2: R(A)
- 冲突图:T1导致T2(W(B)冲突),T2导致T1(R(A)冲突),形成环,不可串行化
封锁协议例题
基础例
两段锁协议:扩展阶段(加锁)、收缩阶段(解锁),保证可串行化但可能死锁
进阶例
死锁检测:等待图有环则死锁,需选择牺牲进程回滚
真题例(2021-05)
两事务 T1, T2 均采用两段锁,调度:T1: X-lock A; T2: X-lock B; T1: X-lock B; T2: X-lock A = 死锁
D. 计算机网络(OSI/TCP/IP、子网划分)
| 知识点 | 要点 | 易错点 | 真题示例 |
|---|---|---|---|
| OSI 七层 | 物理、数据链路、网络、传输、会话、表示、应用 | 会话层与表示层功能易混淆 | 2020-11:哪层负责数据压缩?(表示层) |
| TCP/IP 四层 | 网络接口、网际、传输、应用 | 网际层对应 OSI 网络层 | 2022-11:TCP 属哪层?(传输层) |
| IP 编址 | A/B/C 类地址范围;子网掩码;主机数 = 2^(主机位数) - 2 | 子网划分时主机位与网络位分界 | 2021-05:CIDR /24 表示多少主机? |
| 常见端口 | HTTP 80, HTTPS 443, FTP 21, SSH 22, SMTP 25, DNS 53 | 记错端口号 | 2023-11:SMTP 默认端口? |
OSI 与 TCP/IP 协议对照
| OSI 层 | TCP/IP 层 | 常见协议 |
|---|---|---|
| 应用层 | 应用层 | HTTP, FTP, SMTP, DNS, DHCP |
| 表示层 | 应用层 | SSL/TLS, JPEG, ASCII |
| 会话层 | 应用层 | RPC, NetBIOS |
| 传输层 | 传输层 | TCP, UDP |
| 网络层 | 网际层 | IP, ICMP, ARP, RARP |
| 数据链路层 | 网络接口层 | Ethernet, PPP, HDLC |
| 物理层 | 网络接口层 | 物理介质、信号编码 |
子网划分例题
基础例
IP 192.168.1.0/24,划 4 子网。
- 新掩码 /26(借 2 位主机位);子网范围:192.168.1.0/26, .64/26, .128/26, .192/26;每子网主机数 = 2^6 - 2 = 62
进阶例
IP 10.0.0.0/8,划 1000 子网。
- 借位:2^10=1024 ≥ 1000,故借 10 位,新掩码 /18;子网步长 = 2^(16-10)=64
真题例(2022-11)
CIDR /24 表示多少个可用主机地址?
- 主机位 8,可用地址数 = 2^8 - 2 = 254
E. 信息安全(加密、PKI、访问控制)
加密算法对照表
| 类型 | 算法 | 密钥长度 | 用途 | 优点 | 缺点 |
|---|---|---|---|---|---|
| 对称加密 | DES | 56 位 | 加密数据 | 速度快 | 密钥管理困难;已被破解 |
| 3DES | 112/168 位 | 金融领域 | 兼容性好 | 速度慢 | |
| AES | 128/192/256 位 | 通用加密 | 安全高效 | 需要密钥分发 | |
| 非对称加密 | RSA | 1024/2048/4096 位 | 数字签名、密钥交换 | 无需预先共享密钥 | 速度慢 |
| ECC | 256 位(等同 RSA 3072) | 移动设备、IoT | 密钥短、计算快 | 复杂 | |
| 哈希 | MD5 | 128 位 | 校验和(已不安全) | 速度快 | 碰撞易 |
| SHA-1 | 160 位 | 已淘汰 | — | 碰撞已发现 | |
| SHA-256 | 256 位 | 数字签名、区块链 | 安全 | 计算稍慢 |
IMPORTANT
综合知识必考加密算法对照,案例可能要求选择合适算法(如对称+非对称混合)。MD5/SHA-1 已不安全,优先选 AES/RSA/ECC/SHA-256。
PKI 证书流程
访问控制对比
| 模型 | 原理 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| DAC | 资源拥有者控制访问权限 | 灵活 | 安全性低,权限可能滥用 | 个人计算机 |
| MAC | 系统强制控制,基于安全级别 | 安全性高 | 灵活性低,管理复杂 | 军事、政府 |
| RBAC | 基于角色分配权限 | 易管理,符合组织结构 | 角色划分不当导致权限泄露 | 企业信息系统 |
Web 安全速记
| 攻击 | 防御 |
|---|---|
| XSS(跨站脚本) | 输入过滤、输出编码、CSP |
| SQL 注入 | 预编译语句、参数化查询、最小权限 |
| CSRF(跨站请求伪造) | CSRF Token、SameSite Cookie、验证码 |
记忆口诀 / 易错点汇总
- 可靠性口诀:串联相乘并联补(1-(1-R)^n);混联先分组再串并
- PV 初值:互斥锁=1,同步信号=0,资源量=可用数
- 页面置换:OPT 最优不可实现;FIFO 可能异常;LRU 实现开销大;CLOCK 近似 LRU
- 范式步骤:1NF 原子性;2NF 消除部分依赖;3NF 消除传递依赖;BCNF 决定因素都是候选码
- 隔离级别:读未提交脏读可能;读已提交避免脏读;可重复读避免不可重复读;串行化避免幻读
- 加密选择:数据加密选对称(AES);签名与密钥交换选非对称(RSA/ECC);校验选哈希(SHA-256)
- 子网划分:借几位主机的位给网络位;子网数 = 2^借位数;每子网主机 = 2^(32-新掩码)-2
TIP
- 使用场景1:综合知识快速查公式;案例分析快速判断算法优劣;论文中给出项目中的技术选型理由
- 使用场景2:模考错题复盘,定位薄弱模块
- 避坑建议:计算题先画图再列公式;PV 操作先标信号量初值;范式分解先找码
交叉引用
本系列笔记
主计划文档
详见 主计划 §3.1~§3.4 与 §3.10 的对应内容。
外部延伸
- 官方教材:《系统架构设计师教程(第 2 版)》§3.1~§3.4 与 §3.10
- 真题练习:近 10 年综合知识真题,重点 2023 机考改革后
自测题
- 概念理解:什么是海明码?校验位数如何确定?
- 场景应用:在金融系统中,事务应采用哪个隔离级别?为什么?
- 计算题:系统可靠度为 R=0.95,MTTR=10 小时,求 MTBF。
- 案例分析:某系统采用 LRU 页面置换算法,物理块 3,访问序列为 1,2,3,4,1,2,5,1,2,3,4,5,求缺页次数。
IMPORTANT
如果只能”看着面熟”但说不出来,说明还没真正掌握,建议回看对应章节并多做真题。
下一篇导引:软件工程 + UML 九图速查表 将涵盖开发模型、测试、UML 九图,帮助你掌握软工核心考点。