系统架构师基础知识点概览汇总
·
一、计算机系统知识
1.1 计算机硬件组成(冯·诺依曼)
- 五大部件:运算器、控制器、存储器、输入设备、输出设备
- CPU:运算器+控制器集成
- 存储器
- 内存:速度快、容量小,临时存储,断电丢失
- 外存:速度慢、容量大,长期保存数据
- 外设:输入+输出设备合称
1.2 处理器
- 运算器
- ALU算术逻辑单元:算术、逻辑运算🔴
- AC累加寄存器:暂存运算结果
- DR数据缓冲寄存器:CPU与内存外设中转
- PSW状态条件寄存器:保存标志位(溢出、中断)🔴
- 控制器:控制CPU整体工作流程
- 寄存器组
- 通用寄存器:程序员自定义用途
- 专用寄存器:运算器、控制器内置
- 程序员可见:PC程序计数器、AC累加器🔴
- 程序员不可见:IR指令寄存器、DR、AR地址寄存器🔴
- 处理器分类
- MPU微处理器:嵌入式电路板,体积小成本低
- MCU微控制器(单片机):单片化,功耗成本更低🔴
- DSP数字信号处理器:实时数字信号处理,哈佛架构
- GPU图形处理器:大量内核,并行计算,AI领域
- SoC片上系统:整套系统集成在单芯片
- FPGA现场可编程逻辑门阵列
1.3 指令系统🔴【高频选择题】
- 指令格式:操作码(做什么) + 地址码(操作数地址)
- 寻址方式
- 顺序寻址:PC程序计数器自增
- 跳跃寻址:指令给出下一条地址
- 立即寻址:地址码=操作数本身,速度最快🔴
- 直接寻址:地址码是内存操作数地址
- 间接寻址:地址码是操作数地址的地址
- 寄存器寻址:操作数放在寄存器
- 寄存器间接寻址:寄存器存内存地址
- 相对寻址:PC+偏移量
- 基址寻址:基址寄存器Rb+偏移量🔴
- 变址寻址:变址寄存器Rx+偏移量🔴
- 指令执行流程:取指令 → 分析指令 → 执行指令🔴
- CPU区分指令与数据:依靠指令周期不同阶段🔴
- 指令集
- CISC复杂指令集:指令多,可变长,微程序控制
- RISC精简指令集🔴
- 指令长度固定,指令种类少
- 寻址方式少
- 寄存器数量多,减少访存
- 硬布线逻辑译码
1.4 存储器🔴【本章最重要模块】
- 存储层次金字塔(速度递减、容量递增、成本递减)
- 寄存器 → Cache → 主存 → 外存(磁盘/光盘)→磁带
- 局部性原理(Cache理论基础)🔴
- 时间局部性:刚访问过的数据大概率再次访问
- 空间局部性:访问数据周边数据大概率被访问
- 存储器分类
- RAM随机存取存储器(读写)
- SRAM:用于Cache🔴
- DRAM:用于主存,需要刷新,断电丢失🔴
- ROM只读存储器
- MASK ROM:不可编程
- PROM:一次可编程🔴
- EPROM:紫外线擦除
- EEPROM:电擦除
- Flash闪存:电擦除,速度最快
- RAM随机存取存储器(读写)
- Cache高速缓存
- 作用:解决CPU与主存速度不匹配,硬件自动完成映射🔴
- 地址映射方式
- 全相联:主存块可放Cache任意行;冲突少,硬件复杂
- 直接映像:主存块号模Cache行数;实现简单,冲突高🔴
- 组相联映像:结合两者,工程最常用🔴
- Cache替换算法
- 随机替换
- FIFO先进先出
- LFU访问频次最少替换
- LRU最近最少使用(命中率最优)🔴
- 磁盘存储器
- 结构:盘面、磁道、扇区、柱面
- 存取时间 = 寻道时间 + 旋转等待时间 + 数据传送时间🔴
- 平均旋转等待时间 = 旋转周期 / 2
- 磁盘调度算法(目标:减少平均寻道时间)🔴
- FCFS先来先服务
- SSTF最短寻道优先
- SCAN电梯调度算法
- CSCAN单向扫描算法
1.5 总线
- 按传输信息划分
- 数据总线:双向,传输数据
- 地址总线:单向,决定寻址空间大小🔴
- 控制总线:双向,传输控制信号
- 按连接部件划分
- 片内总线:CPU芯片内部
- 系统总线:CPU、主存、IO接口之间
- 局部总线:少数组件之间
- 通信总线:外部设备/跨计算机
- 传输格式
- 并行总线:PCI、ATA;近距离,串扰问题
- 串行总线:USB、SATA、以太网;适合远距离🔴
1.6 输入输出技术🔴高频考点
- 4种I/O交换方式
- 程序查询方式
- CPU轮询外设状态;CPU串行等待,浪费CPU;低速外设
- 程序中断方式🔴
- 外设就绪发中断,CPU暂停当前任务;CPU外设并行;
- 需要CPU保存现场;按字传输
- 多级中断:高优先级可打断低优先级;同级不可嵌套🔴
- DMA直接内存存取🔴最高频
- DMA控制器接管总线;内存与外设直接块传输;
- 仅开始、结束需要CPU干预;不需要CPU执行指令搬运数据
- 适合高速设备大批量块数据传输
- 通道方式(IOP输入输出处理机)
- 独立I/O处理机;大型机、外设多场景;硬件成本高
- 程序查询方式
- 看门狗电路(补充)
- 软件跑飞、卡死自动复位重启🔴

- 软件跑飞、卡死自动复位重启🔴
二、操作系统
2.1 操作系统概述
- 定义:管理软硬件资源、组织工作流程、提供用户接口
- 两大作用🔴
- 资源管理,提升系统效率
- 改善人机交互,友好接口
- 四大特征:并发性、共享性、虚拟性、不确定性🔴
- 五大功能:进程、存储、设备、文件、作业管理
- 操作系统分类
- 批处理、分时、实时、网络、分布式、微机、嵌入式
- 嵌入式OS五大特点🔴
- 微型化、可定制、实时性、可靠性、易移植性
- 嵌入式初始化顺序:片级初始化 → 板级初始化 → 系统初始化🔴
2.2 进程管理🔴【本章重中之重】
- 进程组成:程序、数据、PCB进程控制块🔴
- 进程状态模型
- 三态:运行态、就绪态、阻塞态🔴
- 运行→就绪:时间片到
- 运行→阻塞:等待某事件
- 阻塞→就绪:等待事件发生
- 就绪→运行:被调度
- 五态:新建态、就绪态、运行态、阻塞态、终止态
- 三态:运行态、就绪态、阻塞态🔴
- 进程间通信
- 同步:合作进程直接制约🔴
- 互斥:争夺临界资源间接制约;临界资源如打印机🔴
- 信号量与P、V操作(原子操作)🔴
- P:申请资源 S=S‑1;S<0进程阻塞
- V:释放资源 S=S+1;S≤0唤醒阻塞进程
- 互斥信号量初值一般=1;生产者消费者模型
- 前趋图:有向无环图,表达任务先后、并行关系🔴
- 进程调度
- 调度方式
- 可剥夺:高优先级进程抢占CPU
- 不可剥夺:进程主动释放CPU才调度🔴
- 三级调度🔴
- 高级调度(作业调度):后备→内存
- 中级调度(对换调度):内外存交换进程
- 低级调度(进程调度):就绪→CPU,最活跃
- 调度算法
- FCFS先来先服务:利于长作业、CPU繁忙型
- 时间片轮转:提升响应时间,分时系统
- 优先级调度:选优先级高进程
- 多级反馈调度:时间片轮转+优先级结合🔴
- 调度方式
- 死锁🔴【高频】
- 定义:多个进程互相等待对方资源无限阻塞
- 4个必要条件:互斥、请求保持、不可剥夺、环路等待🔴
- 死锁4类处理策略
- 死锁预防:破坏4个必要条件之一
- 死锁避免:银行家算法🔴
- 死锁检测:允许死锁,定时检测
- 死锁解除:剥夺资源、撤销进程
- 资源计算公式
- 发生死锁最大资源:n*(R‑1)
- 不死锁最小资源:n*(R‑1)+1🔴
- 线程🔴
- 线程:调度最小单位;进程:资源拥有最小单位🔴
- 同进程线程:共享进程资源(代码、全局变量、打开文件);线程私有:栈指针、寄存器🔴
- 引入线程目的:降低切换开销,提升并发度
2.3 存储管理🔴
- 存储器层次:寄存器→Cache→主存→外存→磁带
- 地址重定位🔴
- 逻辑地址(虚拟地址)、物理地址(实际内存地址)
- 静态重定位:装入时完成地址转换
- 动态重定位:程序运行时完成转换
- 分区存储管理
- 固定分区:静态,产生内部碎片
- 可变分区(动态分区)🔴
- 首次适应、循环首次适应、最佳适应、最差适应
- 产生外部碎片
- 可重定位分区:移动程序合并碎片
- 分页存储管理🔴
- 页:逻辑空间等分;块:物理内存等分;页≠块
- 快表:Cache存放常用页表项,加速地址转换🔴
- 页面置换算法🔴
- 最佳OPT(理想)、FIFO、LRU最近最少未使用、最近未用NRU
- 逻辑地址拆分:页号 + 页内地址;页内地址不变只替换页号
- 分段存储管理
- 段依据逻辑功能划分,段长度不等;便于共享保护🔴
- 分页:物理划分,页大小固定;分段:逻辑划分
- 段页式存储🔴
- 先分段,段内再分页;兼顾分页、分段优点;管理开销大,速度下降
2.4 设备管理
- I/O软件目标:设备独立性、统一命名🔴
- I/O关键技术
- 通道技术:通道独立执行I/O程序,减轻CPU负担
- DMA:内存外设成块直接传输,少CPU干预🔴
- 缓冲技术🔴
- 目的:缓解CPU‑IO速度差;减少中断;提升并行
- 单缓冲、双缓冲计算题(软考计算题考点)
- Spooling假脱机🔴
- 将独占设备模拟虚拟共享设备;典型:打印机输出井
2.5 文件管理🔴
- 文件逻辑结构
- 流式文件(无结构:txt二进制)🔴
- 记录式文件(有结构:数据库表)
- 文件物理结构:连续、链接、索引(UNIX三级索引)🔴
- 直接索引、一级间接、二级间接、三级间接索引计算题
- 文件目录
- FCB文件控制块:文件目录项,实现按名存取🔴
- 一级目录:不允许重名
- 二级目录MFD+UFD:支持不同用户重名🔴
- 多级(树形)目录:Windows/Linux采用
- 磁盘空闲空间管理🔴
- 空闲区表、位示图Bitmap(计算题高频)🔴
- 空闲块链表、成组链接法(UNIX)🔴
2.6 作业管理
- 作业组成:程序、数据、作业说明书🔴
- 作业四状态:提交、后备、执行、完成
- JCB作业控制块:作业存在唯一标志🔴
- 作业调度算法🔴
- FCFS先来先服务
- 短作业优先
- 响应比高优先 Rp=1+等待时间/执行时间🔴
- 优先级调度、均衡调度
- 性能指标
- 周转时间 = 等待时间+执行时间
- 带权周转时间=周转时间/执行时间🔴

三、数据库设计
3.1 数据库基本概念🔴
- 基础名词
- DB数据库:长期存储、有组织、可共享数据集
- DBS数据库系统:数据库+硬件+软件+人员
- DBMS数据库管理系统:DDL/DML/运行管理/存储维护/网络通信🔴
- DBMS分类:RDB关系、OODB面向对象、ORDB对象‑关系
- 三级模式(一个库:1内、1概念、多个外)🔴
- 内模式(存储模式):物理存储,对应存储文件,只有1个🔴
- 概念模式(模式):全局逻辑结构,对应基本表,只有1个🔴
- 外模式(用户/子模式):用户视图,对应视图,可有多个🔴
- 两级映像 & 数据独立性🔴
- 模式/内模式映像 → 物理独立性(物理存储变,应用程序不变)🔴
- 外模式/模式映像 → 逻辑独立性(表逻辑结构变,应用程序不变)🔴
- 数据库设计6大阶段🔴
1.需求分析:产出DFD、数据字典、需求说明书(信息/处理/系统要求)
2.概念结构设计:绘制E‑R图;分E‑R图冲突:属性冲突、命名冲突、结构冲突🔴
3.逻辑结构设计:E‑R图转关系模式,完整性约束,用户视图
4.物理结构设计:确定存储结构、数据分布、访问方式
5.数据库实施:建库、调试程序、数据入库、试运行
6.运行维护:评价、调优、修改
3.2 数据模型 & E‑R模型🔴
- 两类数据模型
- 概念模型(E‑R):用户视角,用于数据库设计
- 基本数据模型:计算机视角,供DBMS实现
- 数据模型三要素:数据结构、数据操作、完整性约束🔴
- E‑R模型组成
- 实体【矩形】;联系【菱形】;属性【椭圆】🔴
- 联系类型
- 1:1一对一;1:n一对多;m:n多对多,产生独立关系模式🔴
- 属性分类🔴
- 简单/复合属性;单值/多值属性;NULL属性;派生属性(不存储,计算得到)🔴
- 弱实体:必须依赖另外一个实体才能存在(家属依赖职工)🔴
- E‑R图转关系模式规则🔴
- 每个实体转1个关系模式
- 1:1:任意一方主键加入另一方做外键
- 1:n:一端主键加入多端作为外键
- m:n:新建独立关系,属性=两端实体主键+联系自身属性🔴
3.3 关系代数🔴【计算题高频】
- 基础术语
- 域、笛卡尔积、元组(记录)、属性(字段)
- 候选码、主码(主键)、主属性、非主属性、外码🔴
- 三类关系:基本表、查询表、视图表(虚表)
- 三类完整性约束🔴
- 实体完整性:主属性不能为NULL
- 参照完整性:外键为NULL或等于对方主键
- 用户自定义完整性:业务自定义约束
- 5种基本关系代数运算🔴
- 并∪:属性结构相同,取全部元组,去重
- 差−:属于R,不属于S
- 广义笛卡尔积×:R与S所有元组全部组合,列数相加
- 投影π【垂直选列】:挑选部分属性列🔴
- 选择σ【水平选行】:挑选满足条件元组🔴
- 扩展关系代数运算🔴
- 交∩:同时属于R、S;R∩S = R‑(R‑S)
- 连接:θ连接、等值连接、自然连接(去掉重复列)🔴
- 除÷:同时做行+列筛选
- 广义投影:带算术运算投影
- 外连接🔴
- 左外连接⟗:保留左边全部元组,右边无匹配填NULL
- 右外连接⟖:保留右边全部元组,左边无匹配填NULL
- 全外连接:左外 ∪ 右外
3.4 SQL语言
- SQL组成:DDL定义、DML操纵、DQL查询、DCL访问控制🔴
- SQL与三级模式:视图=外模式;基本表=概念模式;存储文件=内模式🔴
- 索引
- 索引作用:加速查询、加速表连接、order by/group by优化、唯一性约束🔴
- 聚簇索引:索引顺序 = 物理存储顺序;修改聚簇索引改变内模式🔴
- 非聚簇索引:索引顺序与物理存储无关
- 视图View:虚表,只保存定义,不存储真实数据🔴
3.5 关系数据库设计理论🔴【选择计算题重点】
- 函数依赖🔴
- (X \to Y):X可以唯一确定Y
- 部分函数依赖:码的一部分就可以确定某个属性🔴
- 传递函数依赖:X→Y,Y→Z,Y不能反推X🔴
- Armstrong公理系统🔴
- A1自反律;A2增广律;A3传递律
- 导出规则:合并、伪传递、分解规则🔴
- 求候选码:入度为0属性,遍历全部属性集合🔴
- 范式(从低到高:1NF⊃2NF⊃3NF⊃BCNF⊃4NF)🔴
- 1NF:属性原子不可再分🔴
- 2NF:消除非主属性对码的部分函数依赖🔴
- 3NF:消除非主属性对码的传递函数依赖🔴
- BCNF:消除主属性对码的部分、传递依赖(修正3NF)🔴
- 4NF:消除多值依赖
- 模式分解两个评判标准🔴
- 无损连接:分解后可以还原全部原始信息
- 保持函数依赖:原有函数依赖不丢失🔴
3.6 数据库控制功能🔴
- 事务 & ACID四大特性🔴
- A原子性:全部执行或全部回滚
- C一致性:事务前后数据状态一致
- I隔离性:多个事务互相隔离
- D持久性:提交之后永久生效
- 语句:Begin Transaction;Commit提交;Rollback回滚🔴
- 并发操作带来三类问题🔴
- 丢失修改;不可重复读;读脏数据(根源破坏隔离性)🔴
- 并发控制:封锁技术
- X排他锁:读写独占;其他事务不能加锁
- S共享锁:可以多个事务读;不可写🔴
3.7 数据库安全与故障恢复🔴
- 四类故障
- 事务内部故障;系统故障(软故障,断电OS崩溃);介质故障(磁盘损坏硬故障);病毒🔴
- 备份转储方式🔴
- 静态转储(冷备):备份期间禁止修改;动态转储(热备):备份同时业务正常运行🔴
- 海量(完全)转储;增量转储;差量转储
- 日志文件:记录每一次修改,故障恢复核心🔴
3.8 补充拓展考点🔴
- 数据仓库(4个特征)🔴
- 面向主题、集成、相对稳定、反映历史变化;用于决策分析OLAP
- 和业务数据库对比:数据库面向事务;数仓面向主题历史数据
- 分布式数据库🔴
- 分片:水平分片(按行切分)、垂直分片(按列切分)🔴
- 分布透明性
- 分片透明:不知道如何分片
- 位置透明:不知道物理存放位置🔴
- 复制透明:不知道副本位置
- 逻辑透明:不关心局部数据模型
- 大数据4V:Volume大量、Velocity高速、Variety多样、Value价值密度低🔴

四、嵌入式系统及软件
4.1 嵌入式系统概述🔴
- 定义:以应用为中心、计算机技术为基础,软硬件可配置裁剪的专用计算机系统
- 五大约束要求🔴:功能、可靠性、成本、体积、功耗
- 系统五大组成
- 嵌入式处理器:民用/工业/军用三档次,抗恶劣环境、低功耗、体积小
- 相关支撑硬件:存储器、定时器、总线、I/O接口、专用硬件
- 嵌入式操作系统:资源管理,具备实时、可剪裁、安全特性
- 支撑软件:库,为应用提供开发调试公共服务
- 应用软件:完成特定业务目标
- 嵌入式系统八大特点🔴
- 专用性强;技术融合;软硬一体软件为主;资源受限
- 程序固化在非易失存储器(Flash/ROM),不是磁盘🔴
- 需要专门开发工具环境,无自开发能力;体积小性价比高;高可靠安全
- 系统分类
- 按实时:强实时、弱实时、非实时🔴
- 按安全:安全攸关系统(失效会伤亡/重大财产损失)、非安全攸关🔴
4.2 嵌入式软件五层架构🔴【考试高频】
- 硬件层:微处理器、ROM/SDRAM/Flash、A/D D/A I/O、总线电源时钟
- 抽象层(硬件抽象层HAL + BSP板级支持包)🔴
- BSP板级支持包:介于硬件与OS之间;包含BootLoader + 设备驱动🔴
- BSP四大功能:单板硬件初始化;设备驱动与中断;定制OS;初始化操作系统
- 操作系统层:嵌入式OS、任务/存储/通信/时间管理、文件系统、GUI、网络组件
- 中间件层:数据库、DDS/CORBA、OpenGL、虚拟机;连接独立应用的桥梁
- 应用层:工业控制、物联网、军事、移动设备业务软件
4.3 BootLoader引导加载程序🔴
- 地位:上电后第一段运行的软件,内核启动之前执行
- 三阶段初始化流程🔴
- 片级初始化:纯硬件;初始化CPU核心寄存器、工作模式、总线
- 板级初始化:软硬件结合;CPU以外外设,串口、定时器、内存控制器,建立内存映射
- 系统级初始化(加载内核):把OS镜像从Flash拷贝到内存,跳转内核入口
4.4 设备驱动程序
- 本质:一组库函数,向上提供访问硬件接口
- 基本功能:硬件启动、关闭、启用、停用;读硬件、写硬件
4.5 嵌入式软件
- 软件分类
- 系统软件:驱动、嵌入式OS、中间件
- 应用软件:上层业务软件
- 支撑软件:交叉编译器、仿真调试等开发工具
- 嵌入式软件六大关键特性🔴
- 可剪裁性:删减不需要模块;手段:静态编译、动态库
- 可配置性:适配不同运行场景;手段:数据驱动、配置表
- 强实时性:任务必须规定时限完成
- 安全性:事故发生防护;FMECA故障模式分析
- 可靠性:容错、余度、鲁棒设计
- 高确定性:行为可预期;静态资源分配、状态机、静态调度
4.6 嵌入式系统两种典型架构🔴
- 层次化模式架构
- 封闭型:只能调用本层或者直接下层;封装好,可移植好,性能差
- 开放型:可以调用所有下层;性能好,破坏封装,移植性差
- 递归模式架构
- 用于复杂系统持续分解;两种工作流
- 自顶向下:从整体需求逐步拆解到子模块
- 自底向上:从底层组件逐步组装上层系统
4.7 嵌入式操作系统EOS🔴
- 核心特点:可剪裁、可移植、强实时、紧凑精炼、高质量代码、可固化、弱交互、高确定性🔴
❌不具备:通用性
- 分类
- 实时RTOS:VxWorks、Nucleus(工业控制、军工)
- 非实时消费类:Android、iOS、WinCE

感兴趣的同学可以扫描下方二维码一起讨论!

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)