第 3 章 计算机系统

【版权声明与学习说明】
本文系笔者学习《系统分析师教程(第2版)》第2章后,结合个人理解整理的原创学习笔记。文中所有表格、通俗化举例及箭头式总结,均为本人消化后重新归纳表述,不代表原书官方立场。
整理初衷仅为交流学习、备考记录,无意侵犯原作者版权。若您认为存在不当引用,请通过CSDN私信联系,我会第一时间处理。
推荐备考的朋友购买正版教材,尊重知识成果。

计算机系统是系统分析师开展工作的核心载体,由硬件系统和软件系统组成。本章围绕计算机系统的核心组件(存储器、输入输出、指令系统、多处理机)和关键支撑软件(操作系统)展开,详细拆解其结构、原理、技术细节和应用场景。掌握这些知识能帮助分析师理解系统运行机制,优化系统设计、提升性能,是开展系统分析与设计工作的基础。

3.1 计算机系统概述

3.1.1 计算机系统层次结构

从底层到顶层依次为:硬联逻辑→微指令系统→机器指令语言→编译程序→汇编程序→解释程序→应用程序→应用层。

  • 底层(硬联逻辑、微指令):硬件核心,直接控制硬件执行,速度最快。
  • 中间层(机器指令、编译 / 汇编 / 解释程序):软硬件接口,负责将高级语言转换为硬件能识别的指令。
  • 顶层(应用程序、应用层):面向用户,解决具体业务问题(如办公软件、电商系统)。

3.1.2 计算机系统硬件

核心遵循冯・诺依曼体系结构,由五大核心组件构成,各组件通过数据流和控制流协同工作:

组件 核心功能 通俗解释
运算器 完成算术(加减乘除)和逻辑运算(与或非) 计算机的 “计算器”
控制器 控制各组件协同工作,解析指令并执行 计算机的 “大脑指挥官”
存储器 存储程序和数据(分主存、辅存) 计算机的 “仓库”
输入设备 向计算机输入原始数据和命令(如键盘、鼠标、扫描仪) 计算机的 “耳朵和眼睛”
输出设备 输出计算机运行结果(如显示器、打印机、音箱) 计算机的 “嘴巴和双手”
  • 中央处理单元(CPU):运算器 + 控制器的集成体,是硬件系统核心,决定系统运算速度。
  • 外部设备(外设):输入设备 + 输出设备的统称,负责计算机与外部环境的交互。

3.1.3 计算机系统软件

软件按功能分为系统软件和应用软件,二者分工明确:

  1. 系统软件:负责管理、调度、监视计算机系统,为应用软件提供运行环境,核心包括 5 类:
    • 操作系统(如 Windows、Linux):管理软硬件资源的核心软件。
    • 语言处理程序(编译程序、汇编程序、解释程序):将高级语言(如 Java、Python)转换为机器语言。
    • 服务性程序(如杀毒软件、备份工具):辅助系统运行和维护。
    • 数据库管理系统(如 MySQL、Oracle):管理数据存储和查询。
    • 计算机网络软件(如 TCP/IP 协议栈、浏览器):支持网络通信。
  2. 应用软件:为解决具体业务问题开发的程序(如财务管理软件、营销管理软件、办公软件)。
  3. 固件(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 直接访问(需先调入主存)。

  • 核心类型:

    1. 磁带存储器:顺序存取,容量大、价格低、便携,但速度极慢,适用于离线备份。

    2. 硬盘存储器:

      • 机械硬盘(HDD):由磁道、扇区、柱面组成,直接存取,容量大、成本低,存取时间 = 寻道时间 + 等待时间 + 读写时间。
      • 固态硬盘(SSD):基于闪存芯片,速度快、无机械磨损,价格较高。
      • 混合硬盘(HHD):结合 HDD 和 SSD,闪存缓存常用文件,兼顾容量和速度。
    3. 磁盘阵列(RAID):

      • 核心目的:缩小 CPU 与磁盘的速度差距,提升 I/O 性能和可靠性。

      • 关键技术:分块、交叉、重聚技术。

      • 主流级别(核心特点):

        级别 核心特点 适用场景
        RAID 0 无冗余,数据分块存储,速度最快,故障率高 对可靠性要求低、追求速度的场景(如视频编辑)
        RAID 1 磁盘镜像,1 个工作盘 + 1 个镜像盘,安全性最高,容量利用率 50% 存放系统软件、重要数据(如数据库日志)
        RAID 5 无独立校验盘,校验信息分布在所有盘,兼顾性能和可靠性 通用场景(如企业服务器、数据库)
        RAID 10(RAID 0+1) 先镜像后分块,兼顾速度和可靠性,性价比高 对速度和可靠性均有要求的场景(如电商核心系统)
    4. 光盘存储器:

      • CD-ROM(只读):厂家预写数据,用户只能读。
      • CD-R(一次写入多次读取):用户可写一次,之后不可修改。
      • CD-RW(可擦写):可多次读写,类似磁盘。
      • DVD-ROM:容量比 CD 更大,分单面单层、单面双层等结构。

3.2.3 高速缓冲存储器(Cache)

  • 核心作用:解决 CPU 与主存之间的速度差距(冯・诺依曼瓶颈),提升数据传输效率。
  • 工作原理:基于程序的局部性原理(时间局部性:刚访问的存储单元可能再次访问;空间局部性:刚访问的单元附近单元可能被访问),将常用数据预存到 Cache 中。
  • 访问流程:CPU 需数据时,先查 Cache→命中则直接读取;未命中则从主存读取,同时写入 Cache。
  • 核心指标:命中率(H)= Cache 命中次数 / 总访问次数,命中率越高,系统性能越好。
  • 关键技术:
    1. 映射机制(主存块到 Cache 块的映射):
      • 直接映射:主存块只能映射到 Cache 固定块(K=I mod C),实现简单但灵活性差。
      • 全相联映射:主存块可映射到 Cache 任意块,灵活性高但速度慢、成本高。
      • 组相联映射:Cache 分组,主存块先映射到组(直接映射),再映射到组内任意块(全相联),兼顾灵活性和速度(主流方案)。
    2. 替换算法(Cache 满时淘汰旧数据):
      • 随机算法:随机淘汰,实现简单但效率低。
      • 先进先出(FIFO):淘汰最早进入 Cache 的数据,易出现 Belady 异常(页数增加但缺页率上升)。
      • 近期最少使用(LRU):淘汰最近最少使用的数据,符合局部性原理,效率最高。
    3. 写操作(保证 Cache 与主存数据一致):
      • 写直达(Write Through):写 Cache 时同时写主存,数据一致但速度慢。
      • 写回(Write Back):写 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 总线

  • 定义:多个部件分时共享的公共信息传输线路,同一时刻只能有一个部件发送信息,多个部件可接收信息。
  • 核心分类:
    1. 按功能:地址总线(传地址)、数据总线(传数据)、控制总线(传控制信号)。
    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 云操作系统,软硬件解耦,支持混合负载 企业上云、数字化转型

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐