本页目录 · 5 节
第 2 章 计算机系统基础知识
对应大纲:科目 1-1 计算机系统基本知识|教材 P24–P104|优先级 ★★★★|综合知识估分 10~14 分
读法:本章是「选择题粮仓」,只背结论和公式,不背原理推导。9 个小节里 2.5 网络、2.2 硬件、2.9 性能是三大得分点。
一、知识框架
计算机系统基础知识
├─ 2.1 概述:定义、组成、分类
├─ 2.2 硬件:冯·诺依曼|处理器(CPU/GPU/DSP/FPGA, CISC/RISC)|存储器(片上/片外/主存/外存)
│ |总线(内/系统/外部)|接口|外设
├─ 2.3 软件:OS|数据库|文件系统|网络协议|中间件|软件构件|应用软件
├─ 2.4 嵌入式系统及软件:组成特点|分类|软件特点|安全攸关软件(DO-178)
├─ 2.5 计算机网络:基本概念|通信技术|网络技术|组网技术|网络工程
├─ 2.6 计算机语言:组成|分类(机器/汇编/高级/建模/形式化)
├─ 2.7 多媒体:概述|关键技术(视音频/通信/压缩/VR·AR)
├─ 2.8 系统工程:概述|五大方法|生命周期|MBSE
└─ 2.9 系统性能:指标|计算|设计(Amdahl)|评估
二、必背要点
2.1 计算机硬件
冯·诺依曼结构五部件:运算器、控制器、存储器、输入设备、输出设备。
核心思想:存储程序 + 程序按地址顺序执行。瓶颈:总线瓶颈(冯·诺依曼瓶颈)。
处理器类型对比
| 类型 | 特点 | 典型场景 |
|---|---|---|
| CPU | 通用、强控制、多级流水 | 服务器、PC |
| GPU | 海量并行小核、高浮点吞吐 | 图形、深度学习训练 |
| DSP | 专用信号处理、乘加指令、实时性强 | 音视频编解码、通信基带 |
| FPGA | 硬件可编程、并行、低延迟 | 协议加速、原型验证、金融撮合 |
CISC vs RISC(每年都考)
| 维度 | CISC | RISC |
|---|---|---|
| 指令数量 | 多(几百条) | 少(几十~百条) |
| 指令长度 | 变长 | 定长 |
| 寻址方式 | 多且复杂 | 少且简单 |
| 访存 | 允许「运算+访存」一条指令完成 | 只有 Load/Store 访存 |
| 流水线 | 难 | 易流水 |
| 实现 | 微程序控制为主 | 硬布线控制为主 |
| 寄存器 | 少 | 多 |
| 代表 | x86 | ARM、MIPS、RISC-V |
存储层次(从上到下:容量增大、速度降低、成本降低)
| 层次 | 位置 | 说明 |
|---|---|---|
| 片上缓存 | CPU 内 | L1/L2,速度最快 |
| 片外缓存 | 主板 | L3 或板载 Cache |
| 主存 | 内存条 | DRAM,程序运行空间 |
| 外存 | 磁盘/SSD | 持久化 |
总线:内总线(CPU 内部)、系统总线(CPU 与内存/IO 之间,含数据/地址/控制三总线)、外部总线(设备间,如 USB、PCIe)。
2.2 操作系统
四大特征:并发、共享、虚拟、异步。
(注意:并发 ≠ 并行。并发是宏观同时、微观交替;并行是真正同时,需多核。)
五大功能:处理器管理、存储管理、文件管理、设备管理、作业管理。
| 类型 | 调度策略 | 特点 | 响应时间 |
|---|---|---|---|
| 批处理 | 先来先服务 / 短作业优先 | 吞吐量高、无交互 | 慢 |
| 分时 | 时间片轮转 | 交互性好、公平 | 中 |
| 实时(硬/软) | 优先级抢占、RM/EDF | 确定性、可预测 | 硬实时必须满足截止期 |
| 网络 OS | — | 资源共享,有统一网络视图 | — |
| 分布式 OS | — | 多机单一系统映像,任务可迁移 | — |
进程 vs 线程:进程是资源分配单位,线程是 CPU 调度单位;同进程内线程共享地址空间与文件描述符,独享栈和寄存器。
死锁四必要条件:互斥、请求并保持、不可剥夺、循环等待。处理策略:预防(破坏条件)、避免(银行家算法)、检测与解除、忽略。
2.3 数据库与文件系统
- 三级模式:外模式(视图)、模式(逻辑)、内模式(物理);两级映像:外/模式映像(保证逻辑独立性)、模式/内映像(保证物理独立性)。
- 文件系统:目录结构(树形)、分配方式(连续、链接、索引)、空闲空间管理(位示图、空闲链表)。
- 位示图计算:字号 = 块号 ÷ 字长(从 0 计),位号 = 块号 mod 字长。
2.4 计算机网络(重点)
OSI 七层 vs TCP/IP 四层
| 层:OSI / TCP·IP | 关键协议 | 数据单元 | 设备 |
|---|---|---|---|
| 应用·表示·会话 / 应用层 | HTTP、FTP、SMTP、DNS、DHCP | 报文 | 网关 |
| 传输层 / 传输层 | TCP(可靠、连接)、UDP(不可靠、无连接) | 段 | — |
| 网络层 / 网际层 | IP、ICMP、ARP、RIP/OSPF/BGP | 分组 | 路由器、三层交换机 |
| 数据链路层 / 网络接口层 | Ethernet、PPP、HDLC、VLAN | 帧 | 交换机、网桥 |
| 物理层 / 网络接口层 | RS-232、RJ-45 | 比特 | 中继器、集线器 |
常用端口(高频)
| 端口 | 协议 | 端口 | 协议 |
|---|---|---|---|
| 20/21 | FTP | 80 | HTTP |
| 22 | SSH | 443 | HTTPS |
| 23 | Telnet | 1433 | SQL Server |
| 25 | SMTP | 3306 | MySQL |
| 53 | DNS | 6379 | Redis |
| 67/68 | DHCP | 8080 | HTTP 代理 |
组网设备对比
| 设备 | 工作层 | 隔离冲突域 / 广播域 | 功能 |
|---|---|---|---|
| 中继器·集线器 | 物理层 | ✗ / ✗ | 信号放大、广播转发 |
| 网桥·交换机 | 链路层 | ✓ / ✗ | 按 MAC 地址转发 |
| 路由器 | 网络层 | ✓ / ✓ | 按 IP 路由、连接异构网 |
| 防火墙 | 3~7 层 | ✓ / ✓ | 访问控制、安全策略 |
网络性能指标:速率(bps)、带宽、吞吐量、时延(发送+传播+处理+排队)、时延带宽积、往返时间 RTT、利用率。
2.5 计算机语言
| 类别 | 特点 |
|---|---|
| 机器语言 | 二进制指令,唯一可直接执行的语言 |
| 汇编语言 | 助记符,与硬件相关,需汇编程序翻译 |
| 高级语言 | C/C++/Java/Python,与硬件无关,可移植 |
| 建模语言 | UML:组成要素(事物、关系、图)、关系(关联/依赖/泛化/实现)、五种视图 |
| 形式化语言 | Z 语言:基于集合论与一阶谓词,用于规格说明,可数学验证 |
UML 五种视图(Kruchten 4+1)
| 视图 | 关注 | 图 |
|---|---|---|
| 用例视图 | 系统对外功能 | 用例图 |
| 逻辑视图 | 静态结构与对象模型 | 类图、对象图、状态图 |
| 进程视图 | 并发与同步 | 活动图、时序图 |
| 开发(构件)视图 | 代码组织与构件 | 构件图、包图 |
| 部署(物理)视图 | 硬件部署 | 部署图 |
2.6 嵌入式系统(与第 16 章联动,此处只背基础)
| 项 | 要点 |
|---|---|
| 组成 | 硬件层(处理器、存储器、I/O)+ 中间层(BSP/HAL)+ 系统软件层(RTOS)+ 应用层 |
| 分类 | 嵌入式系统、强实时系统、弱实时系统、安全攸关系统 |
| 软件特点 | 专用性强、资源受限、实时性要求高、固化存储、需交叉编译 |
| 安全攸关 | 失效会导致人员伤亡/重大财产损失;DO-178 按 A~E 五级划分(A 最严),覆盖需求→设计→编码→验证全生命周期 |
2.7 系统工程(易被忽略但稳定出题)
| 方法 | 核心 |
|---|---|
| 霍尔三维结构 | 时间维(规划→设计→研制→生产→安装→运行→更新)、逻辑维(7 步)、知识维 |
| 切克兰德方法 | 软系统方法论:从「寻找最优解」转向「比较与学习」,适合含人的复杂社会系统 |
| 并行工程 | 产品全生命周期各环节并行协同设计,缩短上市时间 |
| 综合集成法 | 钱学森:定性 + 定量、专家体系 + 机器体系 + 知识体系 |
| WSR | 物理(W)—事理(S)—人理(R) 三维统一 |
系统工程生命周期 7 阶段:探索研究 → 概念 → 开发 → 生产 → 使用 → 保障 → 退役。
四类方法:计划驱动、渐进迭代式开发、精益开发、敏捷开发。
MBSE 三大支柱:建模语言(SysML)、建模工具、建模思路(方法)。
2.8 系统性能
性能指标
| 对象 | 指标 |
|---|---|
| 计算机 | MIPS、MFLOPS、CPI、主频 |
| 路由器/交换机 | 吞吐量(pps)、背板带宽、时延、丢包率 |
| 网络 | 带宽、时延、抖动、RTT |
| OS | 上下文切换、CPU 利用率、内存占用 |
| DBMS | TPS、QPS、响应时间、并发连接数 |
| Web 服务器 | 并发数、请求响应时间、每秒请求数 |
三个必会计算(考点密集)
- Cache 平均访问时间
t = h × t_c + (1 − h) × t_m
其中 h 为命中率,t_c 为 Cache 访问时间,t_m 为缺失时的主存访问时间。
若同时考虑缺失时先访问 Cache 再访问主存,则 t = t_c + (1 − h) × t_m。
- Amdahl 定律(加速比上限)
加速比 S = 1 / ((1 − f) + f / k)
f = 可并行/可优化部分比例,k = 该部分的加速倍数。
结论:串行部分决定加速上限,k→∞ 时 S_max = 1/(1−f)。
- 可靠性(串并联)
串联:R = R₁ × R₂ × … × Rₙ (越串越不可靠)
并联:R = 1 − (1−R₁)(1−R₂)…(1−Rₙ) (越并越可靠)
MTBF / (MTBF + MTTR) = 可用性 A
性能设计四手段:系统调整、Amdahl 解决方案(识别热点、优化高频路径)、响应特性优化、负载均衡。
性能评估方法:基准测试程序(最常用)、Web 服务器性能评估、系统监视。
三、易混淆概念对比
| A | B | 关键区别 |
|---|---|---|
| 并发 | 并行 | 并发是宏观同时、微观交替;并行是物理同时,需多核/多机 |
| CISC | RISC | RISC 定长、少寻址、Load-Store 分离、易流水 |
| 中断 | 异常 | 中断来自外部设备异步事件;异常来自 CPU 内部(缺页、除零) |
| 进程 | 线程 | 进程=资源分配单位;线程=调度单位 |
| 分时 OS | 实时 OS | 分时追求公平响应;实时追求确定性与截止期保证 |
| OSI | TCP/IP | OSI 7 层为理论参考模型;TCP/IP 4 层为事实标准 |
| 交换机 | 路由器 | 交换机按 MAC、不隔离广播域;路由器按 IP、隔离广播域 |
| 带宽 | 吞吐量 | 带宽是理论最大速率;吞吐量是实际达到的速率 |
| 软系统方法论 | 硬系统方法论 | 软系统面对「问题本身不明确」的社会系统,重在比较学习 |
| MBSE | 传统文档工程 | MBSE 以模型为唯一权威信息源,文档由模型生成 |
四、常见考法与出题角度
| 出题角度 | 典型问法 | 应对 |
|---|---|---|
| 层次归属 | 「某协议属于哪一层」 | 背 2.4 表;ICMP/ARP 常被误判(ARP 归链路层附近,按教程按网际层处理) |
| 设备层次 | 「某设备工作在哪一层」 | 集线器-物理、交换机-链路、路由器-网络 |
| 计算题 | Cache 平均访问时间、Amdahl 加速比、并联可靠性 | 只考代入公式,注意「是否叠加 Cache 访问时间」 |
| 存储体系 | 「按速度从快到慢排序」 | 寄存器 > Cache > 主存 > 外存 |
| RISC 特征 | 「下列不属于 RISC 特点的是」 | RISC 指令少、定长、寻址方式少 |
| UML 视图 | 「描述系统物理部署的是哪个视图」 | 部署视图 |
| 系统工程方法 | 「适用于含人社会系统的方法是」 | 切克兰德 / WSR |
| 中间件 | 「消息中间件的典型产品」 | IBM MQSeries、BEA Tuxedo(教程指定举例) |
| 嵌入式 | 「安全攸关软件最高安全等级」 | DO-178 的 A 级 |
| 多媒体的关键技术 | 「不属于多媒体关键技术的是」 | 关键=视音频、通信、压缩、VR/AR |
案例题角度:性能瓶颈分析(Amdahl + 负载均衡)、网络架构设计(分层 + 冗余)、嵌入式实时性(调度算法选择)。
五、速记与自测
速记
- 冯·诺依曼五件套:运、控、存、入、出
- OS 四特征:并、共、虚、异
- 死锁四条件:互、请、不、循
- RISC 四定:定长指令、定长周期、少寻址、多寄存器
- 系统工程五法:霍、切、并、综、W
- Amdahl:串行定上限
- 可靠性:串乘、并反
自测
- Cache 命中率 95%,Cache 访问 2ns,主存 100ns(缺失时先访 Cache 再访主存),平均访问时间是多少?
- 某程序 60% 可并行、并行度无限,最大加速比是多少?
- 三个可靠度 0.9 的部件并联,系统可靠度是多少?
答案:1. 2 + 0.05×100 = 7ns;2. 1/(1−0.6) = 2.5;3. 1−0.1³ = 0.999。