《系统分析师教程(第2版)》笔记——第 3 章 计算机系统
第 3 章 计算机系统
【版权声明与学习说明】
本文系笔者学习《系统分析师教程(第2版)》第2章后,结合个人理解整理的原创学习笔记。文中所有表格、通俗化举例及箭头式总结,均为本人消化后重新归纳表述,不代表原书官方立场。
整理初衷仅为交流学习、备考记录,无意侵犯原作者版权。若您认为存在不当引用,请通过CSDN私信联系,我会第一时间处理。
推荐备考的朋友购买正版教材,尊重知识成果。
计算机系统是系统分析师开展工作的核心载体,由硬件系统和软件系统组成。本章围绕计算机系统的核心组件(存储器、输入输出、指令系统、多处理机)和关键支撑软件(操作系统)展开,详细拆解其结构、原理、技术细节和应用场景。掌握这些知识能帮助分析师理解系统运行机制,优化系统设计、提升性能,是开展系统分析与设计工作的基础。
3.1 计算机系统概述
3.1.1 计算机系统层次结构
从底层到顶层依次为:硬联逻辑→微指令系统→机器指令语言→编译程序→汇编程序→解释程序→应用程序→应用层。
- 底层(硬联逻辑、微指令):硬件核心,直接控制硬件执行,速度最快。
- 中间层(机器指令、编译 / 汇编 / 解释程序):软硬件接口,负责将高级语言转换为硬件能识别的指令。
- 顶层(应用程序、应用层):面向用户,解决具体业务问题(如办公软件、电商系统)。
3.1.2 计算机系统硬件
核心遵循冯・诺依曼体系结构,由五大核心组件构成,各组件通过数据流和控制流协同工作:
| 组件 | 核心功能 | 通俗解释 |
|---|---|---|
| 运算器 | 完成算术(加减乘除)和逻辑运算(与或非) | 计算机的 “计算器” |
| 控制器 | 控制各组件协同工作,解析指令并执行 | 计算机的 “大脑指挥官” |
| 存储器 | 存储程序和数据(分主存、辅存) | 计算机的 “仓库” |
| 输入设备 | 向计算机输入原始数据和命令(如键盘、鼠标、扫描仪) | 计算机的 “耳朵和眼睛” |
| 输出设备 | 输出计算机运行结果(如显示器、打印机、音箱) | 计算机的 “嘴巴和双手” |
- 中央处理单元(CPU):运算器 + 控制器的集成体,是硬件系统核心,决定系统运算速度。
- 外部设备(外设):输入设备 + 输出设备的统称,负责计算机与外部环境的交互。
3.1.3 计算机系统软件
软件按功能分为系统软件和应用软件,二者分工明确:
- 系统软件:负责管理、调度、监视计算机系统,为应用软件提供运行环境,核心包括 5 类:
- 操作系统(如 Windows、Linux):管理软硬件资源的核心软件。
- 语言处理程序(编译程序、汇编程序、解释程序):将高级语言(如 Java、Python)转换为机器语言。
- 服务性程序(如杀毒软件、备份工具):辅助系统运行和维护。
- 数据库管理系统(如 MySQL、Oracle):管理数据存储和查询。
- 计算机网络软件(如 TCP/IP 协议栈、浏览器):支持网络通信。
- 应用软件:为解决具体业务问题开发的程序(如财务管理软件、营销管理软件、办公软件)。
- 固件(firmware):存储在 EPROM/EEPROM 中的程序,兼具软硬件优点(执行速度快于软件,灵活性优于硬件),如设备驱动程序。
3.2 存储器系统
存储器是计算机的 “数据仓库”,用于存放程序和数据,是实现 “程序控制” 的基础。系统采用三级存储架构(高速缓冲存储器 Cache→主存储器→辅助存储器),平衡速度、容量和成本。
3.2.1 主存储器(内存)
-
定义:计算机运行时直接与 CPU 交互的存储器,CPU 可直接随机读写,速度较快但容量有限。
-
核心分类:
类型 读写特性 断电后数据 适用场景 随机存取存储器(RAM) 可读可写 丢失(易失性) 暂存运行中的程序和数据 动态 RAM(DRAM) 可读可写 丢失,需定时刷新 主流内存(如 DDR4、DDR5),容量大、成本低 静态 RAM(SRAM) 可读可写 不丢失(无需刷新) 高速缓存(Cache),速度快、成本高 只读存储器(ROM) 只读不写 不丢失(非易失性) 存放 BIOS、专用子程序等固定程序
3.2.2 辅助存储器(辅存)
-
定义:用于持久化存储大量数据,容量大、成本低、速度慢,不能被 CPU 直接访问(需先调入主存)。
-
核心类型:
-
磁带存储器:顺序存取,容量大、价格低、便携,但速度极慢,适用于离线备份。
-
硬盘存储器:
- 机械硬盘(HDD):由磁道、扇区、柱面组成,直接存取,容量大、成本低,存取时间 = 寻道时间 + 等待时间 + 读写时间。
- 固态硬盘(SSD):基于闪存芯片,速度快、无机械磨损,价格较高。
- 混合硬盘(HHD):结合 HDD 和 SSD,闪存缓存常用文件,兼顾容量和速度。
-
磁盘阵列(RAID):
-
核心目的:缩小 CPU 与磁盘的速度差距,提升 I/O 性能和可靠性。
-
关键技术:分块、交叉、重聚技术。
-
主流级别(核心特点):
级别 核心特点 适用场景 RAID 0 无冗余,数据分块存储,速度最快,故障率高 对可靠性要求低、追求速度的场景(如视频编辑) RAID 1 磁盘镜像,1 个工作盘 + 1 个镜像盘,安全性最高,容量利用率 50% 存放系统软件、重要数据(如数据库日志) RAID 5 无独立校验盘,校验信息分布在所有盘,兼顾性能和可靠性 通用场景(如企业服务器、数据库) RAID 10(RAID 0+1) 先镜像后分块,兼顾速度和可靠性,性价比高 对速度和可靠性均有要求的场景(如电商核心系统)
-
-
光盘存储器:
- CD-ROM(只读):厂家预写数据,用户只能读。
- CD-R(一次写入多次读取):用户可写一次,之后不可修改。
- CD-RW(可擦写):可多次读写,类似磁盘。
- DVD-ROM:容量比 CD 更大,分单面单层、单面双层等结构。
-
3.2.3 高速缓冲存储器(Cache)
- 核心作用:解决 CPU 与主存之间的速度差距(冯・诺依曼瓶颈),提升数据传输效率。
- 工作原理:基于程序的局部性原理(时间局部性:刚访问的存储单元可能再次访问;空间局部性:刚访问的单元附近单元可能被访问),将常用数据预存到 Cache 中。
- 访问流程:CPU 需数据时,先查 Cache→命中则直接读取;未命中则从主存读取,同时写入 Cache。
- 核心指标:命中率(H)= Cache 命中次数 / 总访问次数,命中率越高,系统性能越好。
- 关键技术:
- 映射机制(主存块到 Cache 块的映射):
- 直接映射:主存块只能映射到 Cache 固定块(K=I mod C),实现简单但灵活性差。
- 全相联映射:主存块可映射到 Cache 任意块,灵活性高但速度慢、成本高。
- 组相联映射:Cache 分组,主存块先映射到组(直接映射),再映射到组内任意块(全相联),兼顾灵活性和速度(主流方案)。
- 替换算法(Cache 满时淘汰旧数据):
- 随机算法:随机淘汰,实现简单但效率低。
- 先进先出(FIFO):淘汰最早进入 Cache 的数据,易出现 Belady 异常(页数增加但缺页率上升)。
- 近期最少使用(LRU):淘汰最近最少使用的数据,符合局部性原理,效率最高。
- 写操作(保证 Cache 与主存数据一致):
- 写直达(Write Through):写 Cache 时同时写主存,数据一致但速度慢。
- 写回(Write Back):写 Cache 时不立即写主存,淘汰时再写回,速度快但需标志位跟踪修改。
- 标记法:修改时只写主存,Cache 中数据置为无效,读取时重新从主存调入。
- 映射机制(主存块到 Cache 块的映射):
3.2.4 网络存储技术
用于解决分布式环境下的存储共享和扩展问题,核心有 3 种:
| 技术类型 | 核心特点 | 适用场景 |
|---|---|---|
| 直接附加存储(DAS) | 存储设备通过 SCSI 电缆直接连服务器,依赖服务器,无独立存储操作系统 | 早期小型系统,现已基本被 NAS 替代 |
| 网络附加存储(NAS) | 专用文件服务器,通过网络接口连网,支持 NFS/CIFS 协议,文件级共享 | 中小企业文件共享(如办公文档、视频存储) |
| 存储区域网络(SAN) | 专用存储网络,块级存储,速度快、扩展性强,分 FC SAN、IP SAN、IB SAN | 大型企业核心业务(如数据库、虚拟化) |
- IP SAN(iSCSI):基于 TCP/IP 网络,成本低、配置简单,支持远距离传输,是目前主流 SAN 方案。
3.2.5 虚拟存储技术
- 核心思想:将多个存储介质(硬盘、RAID 等)集中管理为 “存储池”,屏蔽物理存储差异,为用户提供大容量、高性能的逻辑存储。
- 实现方式:
- 主机级虚拟化:通过服务器端卷管理软件实现,成本低。
- 存储设备级虚拟化:由存储控制器实现,兼容性较差(多为厂商专属)。
- 网络级虚拟化:通过 SAN 专用装置实现,支持多厂商设备,开放性好。
- 核心特点:集中管理、高带宽、灵活性强、兼容性好(保护已有投资)。
3.3 输入输出系统(I/O 系统)
由 I/O 设备、I/O 接口(控制器)、I/O 控制管理软件组成,负责计算机与外部环境的信息交换。
3.3.1 输入输出工作方式
共 5 种工作方式,核心差异在于 CPU 参与程度和效率:
| 工作方式 | 核心原理 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 程序控制方式 | CPU 执行 I/O 程序实现数据传送,分无条件传送和程序查询 | 软硬件简单 | CPU 利用率低 | 简单开关量控制(如 LED 灯) |
| 程序中断方式 | 外设准备就绪后向 CPU 发中断请求,CPU 暂停现行程序处理 I/O | 提升 CPU 效率 | 需中断控制逻辑 | 中低速外设(如键盘、打印机) |
| DMA 工作方式 | 由 DMA 控制器直接控制主存与外设数据传输,CPU 不参与 | 高速批量传输 | 需专用 DMA 控制器 | 高速外设(如硬盘、显卡) |
| 通道方式 | 专用 I/O 控制部件,独立执行 I/O 指令,减少 CPU 介入 | 主机与外设并行度高 | 硬件复杂 | 大型计算机系统 |
| I/O 处理机 | 独立于 CPU 的处理机,专用处理 I/O,可完成码制转换、文件管理等 | 功能强、效率高 | 成本高 | 大型 / 巨型计算机 |
3.3.2 总线
- 定义:多个部件分时共享的公共信息传输线路,同一时刻只能有一个部件发送信息,多个部件可接收信息。
- 核心分类:
- 按功能:地址总线(传地址)、数据总线(传数据)、控制总线(传控制信号)。
- 按传输方式:并行总线(多位数据同时传,速度快)、串行总线(多位数据依次传,适用于远距离)。
- 关键性能指标:
- 总线宽度:数据线数量,决定单次传输数据位数(如 32 位、64 位)。
- 总线带宽:最大数据传输速率(总线带宽 = 总线宽度 × 总线频率)。
- 总线负载:可连接的最大设备数量。
- 支持热插拔:设备可在系统运行时插拔,不影响系统运行(如 USB 设备)。
3.3.3 I/O 接口(I/O 控制器)
-
核心作用:解决主机与外设的速度、信息格式差异,是二者的 “翻译官” 和 “协调员”。
-
核心功能:通信联络控制(协调主机与外设时序)、地址译码(选择目标外设)、数据缓冲(避免数据丢失)、数据格式转换(如并串转换)、传递控制命令和状态信息。
-
分类:
- 按数据传输方式:串行接口(一次传 1 位,如 USB、RS232)、并行接口(一次传多位,如 IDE、SCSI)。
- 按通用性:通用接口(如 USB、IEEE-1394)、专用接口(如显卡接口、声卡接口)。
-
常见接口(核心参数):
接口类型 传输速率 核心特点 适用场景 USB 3.0 4.8Gb/s 热插拔、支持 127 个设备 鼠标、U 盘、打印机等外设 SATA 3.0 6Gb/s 热插拔、串行传输 硬盘、固态硬盘 SCSI 5Gb/s 支持多设备菊花链连接 大容量存储设备、服务器外设 IEEE-1394 800Mb/s 热插拔、支持 63 个节点 高清摄像头、外置硬盘 eSATA 3.2Gb/s 外部 SATA 接口,物理连接稳固 外置固态硬盘、硬盘盒 -
I/O 端口:接口中可被 CPU 直接访问的寄存器,分数据端口(传数据)、命令端口(发控制命令)、状态端口(反馈外设状态)。
-
端口编址:独立编址(I/O 映射,专用 I/O 指令)、统一编址(存储器映射,用数据传送指令)。
3.4 指令系统
指令是计算机执行操作的命令,所有指令的集合构成指令系统(指令集),是软硬件的核心分界面。
3.4.1 基本指令系统
1. 设计要求
- 完整性:具备通用计算机所需的基本指令类型。
- 规整性:对称性(如所有通用寄存器待遇一致)、均匀性(不同数据类型、存储设备的指令设置一致)。
- 高效率:常用指令执行速度快、使用频率高。
- 兼容性:不同型号计算机的指令系统兼容,便于软件移植。
2. 基本指令分类
| 指令类型 | 核心功能 | 示例 |
|---|---|---|
| 数据传送类 | 实现寄存器、主存间的数据传送 | 一般传送(MOV)、堆栈操作(PUSH/POP)、数据交换(XCHG) |
| 运算类 | 算术运算(加减乘除)、逻辑运算(与或非)、移位(算术 / 逻辑 / 循环移位) | ADD(加法)、AND(逻辑与)、SHL(左移) |
| 程序控制类 | 控制程序执行顺序 | 转移(JMP)、程序调用(CALL)、返回(RET)、循环控制(LOOP) |
| I/O 类 | 主机与外设信息交换 | IN(输入)、OUT(输出) |
| 处理机控制和调试类 | 控制处理机状态、管理系统资源 | 特权指令(如设置中断屏蔽)、调试指令(如断点设置) |
3.4.2 复杂指令系统(CISC)
- 定义:设置大量复杂指令,将常用软件功能用硬件实现,追求指令功能强大。
- 核心特点:
- 指令数量多(100~250 条),使用频率悬殊(20% 指令占 80% 执行时间,80-20 规律)。
- 寻址方式多(5~20 种)、指令长度不固定。
- 可直接操作主存数据,以微程序控制为主。
- 缺陷:
- 复杂指令执行周期长,硬件设计复杂。
- 80% 的复杂指令使用频率低,浪费硬件资源。
3.4.3 精简指令系统(RISC)
- 定义:精简指令集,只保留常用简单指令,复杂功能通过多条简单指令实现,追求执行效率。
- 核心特点:
- 指令数量少(优先选取高频简单指令),仅支持 LOAD(从主存读数据)和 STORE(写数据到主存)指令操作主存,其余操作在寄存器间进行。
- 寻址方式少(仅支持寄存器、立即数、相对寻址)、指令长度固定、格式统一。
- 以硬布线逻辑控制为主,单周期指令执行,支持流水线技术。
- CPU 通用寄存器数量多(32 个以上),分指令 Cache 和数据 Cache(并行存取)。
- 核心思想:程序执行时间 P=I×CPI×T(I:指令条数,CPI:平均执行周期数,T:周期时间)。
- RISC 的 I 比 CISC 多,但 CPI 远小于 CISC(RISC CPI≈1,CISC CPI=4~10),T 更短,整体执行速度更快。
- 关键技术:延迟转移技术、指令取消技术、重叠寄存器窗口技术、指令流调整技术。
3.5 多处理机系统
多处理机系统由多个独立处理机组成,通过共享主存或通信网络协同工作,突破单处理机的性能限制。
3.5.1 多处理机系统概述
1. 与并行处理机(SIMD)的区别
| 对比维度 | 多处理机(MIMD) | 并行处理机(SIMD) |
|---|---|---|
| 结构灵活性 | 高,适应多样算法 | 低,针对数组 / 向量计算 |
| 程序并行性 | 任务级并行(复杂) | 操作级并行(简单) |
| 任务派生 | 需专门指令派生并行任务 | 指令本身启动多个处理单元并行 |
| 进程同步 | 需专门同步机制 | 受同一控制器控制,自然同步 |
| 资源调度 | 需动态分配资源和调度进程 | 处理单元数目固定,无需复杂调度 |
2. 分类(按存储访问方式)
| 类型 | 核心特点 | 代表架构 | 适用场景 |
|---|---|---|---|
| 共享存储方式(紧耦合) | 多个处理机共享主存,通过主存传递信息 | SMP(对称多处理机) | 多用户分时应用、一般通用应用 |
| 分布式存储方式(松耦合) | 每个处理机独占本地存储器,通过互连网络通信 | MPP(海量并行处理机) | 粗粒度并行计算(如科学计算、大数据处理) |
3.5.2 海量并行处理结构(MPP)
- 核心特点:大规模并行处理,采用分布式存储,可扩展至数百 / 数千个处理机。
- 关键技术:虚拟共享存储器(SVM/DSM),将物理分散的本地存储器逻辑统一编址,用户可视为全局共享存储,简化编程。
- SVM 实现方式:硬件实现(高效)、操作系统 / 库实现(无需专用硬件)、编译实现(复杂)。
3.5.3 对称多处理机结构(SMP)
- 核心特点:多个处理机共享主存,处理机类型相同、地位对称,由操作系统统一调度。
- 存储模型:
- 均匀存储器存取(UMA):所有处理机访问主存速度相同。
- 非均匀存储器存取(NUMA):访问本地存储器速度快,访问远程存储器速度慢。
- 只用高速缓存的存储器结构(COMA):主存换成高速缓存,全局地址空间由缓存组成。
- 扩展架构(S2MP):可扩展共享存储多处理机,结合 SMP 的简单编程和 MPP 的扩展性,基于 NUMA 结构,存储带宽随处理机数量扩展。
3.5.4 互连网络
-
定义:连接处理机、存储模块、外设的硬件网络,负责组件间的信息传输,是多处理机系统的核心。
-
互连函数(描述连接关系):恒等置换(同编号连接)、交换置换(第 0 位位值不同连接)、方体置换(第 k 位位值不同连接)。
-
核心互连方式:
方式 核心特点 优缺点 总线方式 共享总线连接所有组件 简单、成本低;但争用严重,扩展性差 交叉开关 每个处理机与每个存储模块直接连接 无争用,速度快;但复杂度高,成本高 开关枢纽 由仲裁单元和开关单元组成 平衡争用和复杂度,扩展性较好 多端口存储器 存储器控制冲突请求,分解多处理机访问 简化互连网络,提高存储访问效率 多级互连网络 总线与交叉开关的折中,模块化结构 扩展性好,时延随级数上升
3.6 操作系统
操作系统(OS)是管理计算机软硬件资源的核心软件,负责合理组织工作流程、控制程序执行,为用户提供友好接口。
3.6.1 操作系统概述
1. 核心作用
- 资源管理:提高计算机系统效率(合理分配 CPU、内存、外设等资源)。
- 人机接口:提供友好的工作环境(让用户 / 程序方便使用系统)。
2. 核心特征与功能
- 特征:并发性(多个程序同时运行)、共享性(资源被多个用户 / 程序共享)、虚拟性(将物理资源抽象为多个逻辑资源)、不确定性(程序执行顺序和时间不确定)。
- 功能:
- 处理机管理(进程管理):分配和管理 CPU,核心是进程调度。
- 存储器管理:内存分配、保护、扩充(虚拟存储)。
- 设备管理:设备分配、传输控制、设备独立性(用户无需关注具体设备)。
- 文件管理:文件存储空间管理、目录管理、文件操作和保护。
- 用户接口:程序接口(系统调用,面向开发者)、操作接口(命令行 / 图形界面,面向用户)。
3. 操作系统分类
| 类型 | 核心特点 | 适用场景 |
|---|---|---|
| 分时操作系统(如 UNIX、Linux) | CPU 时间分片,轮流为多个终端用户服务,交互性强 | 多用户共享主机(如服务器、工作站) |
| 实时操作系统(如 VxWorks、uC/OS-II) | 快速响应外部事件,满足实时性要求 | 工业控制、导弹制导、飞机订票系统 |
| 网络操作系统(如 Windows Server、NetWare) | 管理网络资源,支持网络通信和共享 | 局域网、企业网络(文件服务器、数据库服务器) |
| 分布式操作系统(如 Amoeba、Mach) | 管理分布式计算机系统,资源分布共享,透明性强 | 分布式计算、云计算平台 |
| 嵌入式操作系统(如 Android、iOS、Windows CE) | 微型化、可定制、实时性强、可靠性高 | 智能手机、智能家电、嵌入式设备 |
4. 互联网环境对操作系统的要求
- 自主配置和自适应协调(适应节点数量、状态、需求的动态变化)。
- 支持跨网络互连、互通和协作(有线 / 无线、固定 / 移动节点结合)。
- 管理和协调资源共享(扩展至感知、能源、通信资源)。
- 支持功能、性能、可信性动态演化。
- 可信赖(保障安全性、私密性、可靠性)。
3.6.2 进程管理
1. 程序与进程
- 程序:静态的指令集合(如.exe 文件)。
- 进程:程序的一次执行过程,是资源分配和调度的基本单位,由进程控制块(PCB)、程序、数据组成(PCB 是进程存在的唯一标志)。
- 前驱图:描述程序段之间的依赖关系(有向无循环图),体现程序并发执行的制约关系。
- 程序并发执行特征:间断性、失去封闭性、不可再现性、相互制约性。
2. 进程状态与转换(五态模型)
- 状态:新建态(进程刚创建,未提交)→就绪态(具备运行条件,等待 CPU)→运行态(占用 CPU 执行)→阻塞态(等待某事件,如 I/O 完成)→终止态(进程结束)。
- 转换触发条件:
- 新建态→就绪态:系统完成进程创建。
- 就绪态→运行态:进程调度(CPU 空闲,选中就绪态进程)。
- 运行态→就绪态:时间片到或有更高优先级进程进入就绪态。
- 运行态→阻塞态:进程请求某事件(如 I/O 操作)。
- 阻塞态→就绪态:等待的事件发生(如 I/O 完成)。
- 运行态→终止态:进程执行完成或异常终止。
3. 信号量与 PV 操作(进程同步与互斥工具)
- 信号量(S):整型变量,用于描述资源可用数量。
- S≥0:可用资源数;S<0:绝对值为等待该资源的进程数。
- 公用信号量(互斥):初值为 1,实现进程间互斥访问临界资源。
- 私用信号量(同步):初值为 0 或正整数,实现进程间协作。
- PV 操作(不可分割的原子操作):
- P 操作(申请资源):S=S-1;若 S<0,进程阻塞并插入等待队列。
- V 操作(释放资源):S=S+1;若 S≤0,唤醒等待队列中的一个进程。
- 应用示例(生产者 - 消费者问题):
- 信号量设置:S(互斥信号量,初值 1,保护缓冲区)、S1(同步信号量,初值 n,缓冲区空闲数)、S2(同步信号量,初值 0,缓冲区产品数)。
- 生产者流程:生产产品→P (S1)→P (S)→产品送缓冲区→V (S)→V (S2)。
- 消费者流程:P (S2)→P (S)→从缓冲区取产品→V (S)→V (S1)→消费产品。
4. 高级通信原语
- 低级通信(PV 操作):编程复杂、效率低,适合少量数据交换。
- 高级通信:传递大量数据,效率高、编程简单,核心方式:
- 共享存储模式:进程共享数据结构或存储区。
- 消息传递模式:以消息为单位通信(如 Send/Receive 原语)。
- 管道通信:通过共享文件(管道)传递字符流,连接读进程和写进程。
5. 死锁
- 定义:多个进程互相等待对方占用的资源,导致无法继续运行。
- 必要条件(缺一不可):互斥条件(资源独占)、不剥夺条件(资源不可强制剥夺)、请求与保持条件(持有资源并请求新资源)、环路条件(进程 - 资源形成环路)。
- 处理策略:
- 预防:破坏任一必要条件(如预先静态分配资源、资源有序分配)。
- 避免:银行家算法(检测分配资源后系统是否安全,安全状态是存在安全序列,可让所有进程完成)。
- 检测与解除:定时检测死锁,发现后通过资源剥夺或撤销进程解除。
6. 线程
- 定义:进程中的实体,是调度和分配的基本单位,比进程更 “轻便”(轻型进程)。
- 核心特点:
- 基本不拥有资源,共享所属进程的全部资源(如内存空间、文件句柄)。
- 线程状态:就绪、运行、阻塞。
- 分类:用户级线程(不依赖内核,创建 / 切换快)、内核支持线程(依赖内核,调度更灵活)。
- 优势:减少进程切换开销,提高系统并发度(如文件服务进程可通过多线程同时处理多个用户请求)。
3.6.3 存储器管理
核心任务:管理主存空间,提高利用率、扩充容量,保护内存数据安全。
1. 存储管理方案
| 方案 | 核心原理 | 优点 | 缺点 |
|---|---|---|---|
| 分区存储管理 | 主存划分为若干区域,每个区域分配给一个作业 | 实现简单 | 内存利用率低,有碎片 |
| 分页存储管理 | 作业和主存均划分为等大的页(块),作业分页后离散分配到主存块 | 无外碎片,内存利用率高 | 有内碎片(页内未用空间) |
| 分段存储管理 | 作业按逻辑功能划分为段(如代码段、数据段),段离散分配到主存 | 符合程序逻辑,便于共享和保护 | 有外碎片 |
| 段页式存储管理 | 先分段,再分页,结合分段和分页优势 | 兼顾逻辑独立性和内存利用率 | 管理复杂,开销大 |
| 虚拟存储管理 | 仅将作业部分装入主存,其余部分存辅存,需用时调入 | 突破物理内存限制,扩大逻辑内存 | 需硬件支持,有页面置换开销 |
2. 虚拟存储管理(核心)
- 理论基础:程序的局部性原理(时间局部性、空间局部性)。
- 工作集理论:进程在某段时间内实际访问的页面集合,需将工作集驻留主存以降低缺页率。
- 实现方式:
- 请求分页系统:分页 + 请求调页 + 页面置换。
- 请求分段系统:分段 + 请求调段 + 分段置换。
- 请求段页式系统:段页式 + 请求调页 + 页面置换。
- 页面置换算法(缺页时淘汰页面):
- 最佳(Optimal):淘汰最长时间不被访问的页面,理想化(无法实现)。
- 先进先出(FIFO):淘汰最早进入主存的页面,实现简单,有 Belady 异常。
- 近期最少使用(LRU):淘汰最近最少使用的页面,符合局部性原理,效率最高。
- 最近未用(NUR):淘汰最近未使用的页面,实现简单,开销低。
3.6.4 设备管理
核心目标:提高设备利用率,为用户提供统一、方便的设备接口。
1. I/O 软件层次(从底层到顶层)
- 中断处理程序:处理设备中断,唤醒驱动程序。
- 设备驱动程序:控制具体设备,设置设备寄存器、检查状态。
- 与设备无关的系统软件:提供统一设备接口,处理缓冲区、设备分配。
- 用户级软件:用户进程发起 I/O 请求(如读文件)。
2. 关键技术
- SPOOLing 技术(外围设备联机操作):
- 核心思想:用磁盘上的输入井和输出井模拟脱机 I/O,将独占设备转换为共享虚拟设备。
- 组成:预输入程序(将外设数据读入输入井)、缓输出程序(将输出井数据写入外设)、井管理程序(管理输入 / 输出井)。
- 优势:提高设备利用率和 CPU 与外设并行度(如打印机共享)。
- 磁盘调度算法(优化磁头移动,减少寻道时间):
- 先来先服务(FCFS):按请求顺序调度,公平但平均寻道时间长。
- 最短寻道时间优先(SSTF):选择距当前磁头最近的请求,缩短单次寻道时间。
- 扫描算法(SCAN,电梯调度):磁头沿一个方向移动,处理所有请求后反向,避免饥饿。
- 单向扫描(CSCAN):磁头单向移动,到达端点后直接返回另一端,减少延迟。
3.6.5 文件管理
文件系统是操作系统中管理文件的软件集合,负责文件的存储、检索、共享和保护。
1. 文件的组织结构
- 逻辑结构(用户视角):
- 有结构文件(记录式文件):由多个记录组成(如数据库表)。
- 无结构文件(流式文件):由字符流组成(如文本文件、二进制文件)。
- 物理结构(存储视角,文件在辅存的存放方式):
- 连续结构:文件数据连续存放在辅存块,速度快但易产生碎片。
- 链接结构:文件数据分散存放,通过指针链接,无碎片但随机访问慢。
- 索引结构:为文件建立索引表(记录文件数据块位置),兼顾速度和无碎片(主流方案)。
- 多级索引:UNIX 系统采用三级索引(直接寻址、一级 / 二级 / 三级间接寻址),支持大容量文件。
2. 文件目录
- 定义:文件控制块(FCB)的有序集合,FCB 包含文件名、物理地址、文件属性等信息。
- 目录结构:
- 一级目录结构:所有文件在一个目录下,简单但易重名、查找慢。
- 二级目录结构:分主目录和用户目录,解决重名问题。
- 多级目录结构(树形结构):目录层级嵌套,支持文件分类,查找快(如 Windows、Linux 的目录结构)。
- 路径名:
- 绝对路径:从根目录开始的完整路径(如 “C:\Users\Document\test.txt”)。
- 相对路径:从当前目录开始的路径(如 “Document\test.txt”)。
3. 文件存储空间管理
核心是管理辅存空闲空间,常用方法:
| 方法 | 核心原理 | 优点 | 缺点 |
|---|---|---|---|
| 位示图 | 用一位表示一个物理块的空闲状态(0 = 空闲,1 = 占用) | 描述能力强,适合各种物理结构 | 位示图大小随磁盘容量增长 |
| 空闲区表 | 记录所有空闲区的起始块号和块数 | 适合连续文件分配 | 空闲区多时光查表开销大 |
| 空闲块链 | 空闲块通过指针链接,形成链表 | 无需专用数据结构,节省空间 | 遍历链表开销大 |
| 成组链接法 | 将空闲块分组,每组记录下一组空闲块信息 | 兼顾空间和效率,UNIX 系统采用 | 实现复杂 |
4. 文件的共享和保护
- 共享:不同用户 / 进程使用同一文件,节省空间、减少复制开销。
- 硬链接:多个目录项指向同一索引结点,删除一个链接不影响文件。
- 符号链接:建立新文件,记录原文件路径,跨越文件系统但增加读盘次数。
- 保护:防止文件被非法访问,核心方式:
- 存取控制矩阵:二维矩阵(用户 × 文件),记录存取权限(读 R、写 W、执行 X)。
- 存取控制表:为每个文件记录授权用户及权限,简化矩阵。
- 用户权限表:为每个用户记录可访问的文件及权限。
- 密码:文件加密存储,访问时需输入密码解密。
5. 文件系统的安全与可靠性
- 安全级别:系统级(登录认证)、用户级(用户权限)、目录级(目录访问权限)、文件级(文件存取权限)。
- 可靠性保障:
- 转储和恢复:定期备份文件数据,故障后恢复。
- 日志文件:记录文件操作,故障后通过日志回滚或前滚恢复数据。
- 一致性检查:检测并修复文件系统的块一致性和文件一致性。
3.6.6 作业与用户界面
1. 作业管理
- 作业:用户提交给计算机的计算任务总和,由程序、数据、作业说明书组成。
- 作业步:作业执行的每个步骤(如编译、链接、执行)。
- 作业控制方式:
- 脱机控制:用户编写作业说明书,提交后无需干预。
- 联机控制:用户通过终端输入命令,实时控制作业执行。
- 作业调度算法(选择作业进入内存执行):
- 评价指标:平均周转时间(作业完成时间 - 提交时间)、平均带权周转时间(周转时间 / 执行时间)。
- 常用算法:先来先服务(FCFS)、短作业优先(SJF)、高响应比优先(HRN)、时间片轮转(RR)。
2. 用户界面
- 定义:用户与计算机通信的软 / 硬件总称,包括输入 / 输出设备和通信协议、命令等软件。
- 类型:
- 命令接口:命令行(如 DOS 命令、Linux Shell 命令),面向专业用户。
- 图形界面接口(GUI):窗口、图标、菜单,直观易用(如 Windows、macOS)。
- 程序接口:系统调用,面向开发者(如 C 语言的 read ()、write () 函数)。
- 发展阶段:控制面板式→字符用户界面→图形用户界面→新一代用户界面(虚拟现实、语音交互、多通道交互)。
3.6.7 国产操作系统
核心基于 Linux 内核二次开发,打破国外垄断,主要类型:
| 操作系统 | 核心特点 | 适用场景 |
|---|---|---|
| 银河麒麟(KylinOS) | 自主知识产权,分安全版、服务器版 | 政府、军工、企业服务器 |
| 深度(deepin) | 桌面应用为主,界面友好,支持国产硬件 | 个人电脑、办公终端 |
| 统信(UOS) | 完善的生态,支持多架构,兼容性好 | 政企办公、金融、能源领域 |
| 中标麒麟 | 强化 Linux 内核,分桌面版、服务器版 | 政府、教育、金融行业 |
| 红旗 Linux | 成熟的 Linux 发行版,分多个版本 | 企业服务器、桌面办公 |
| 安超 OS | 云操作系统,软硬件解耦,支持混合负载 | 企业上云、数字化转型 |
更多推荐

所有评论(0)