Skip to content

考点清单

  • [x] 进程管理(进程状态/PCB/上下文切换/通信)
  • [x] 进程同步(信号量/PV 操作/管程)
  • [x] 死锁(必要条件/银行家算法/预防与避免)
  • [x] 存储管理(分页/分段/段页式/虚拟内存,页面置换算法)
  • [x] 文件系统(目录结构/空闲空间管理)
  • [x] I/O 管理(SPOOLing/磁盘调度算法)
  • [x] 线程 vs 进程

笔记

历年考情:每年都考 3-5 分。第二版教材只有基本概念,但历年真题需要掌握原有全部内容。较为重要:分页存储、I/O 软件。

1. 操作系统概述

定义:能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并向用户提供良好的工作环境和友好的接口。

三个作用

  • 管理计算机中运行的程序和分配各种软硬件资源
  • 为用户提供友善的人机界面
  • 为应用程序的开发和运行提供高效率的平台

四个特征:并发性、共享性、虚拟性、不确定性

  • 并发 vs 并行:并发是宏观的(分时调度),并行是微观的

五大功能

  • 进程管理 — 对 CPU 执行"时间"进行管理
  • 文件管理 — 文件存储空间管理、目录管理、读写管理和存取控制
  • 存储管理 — 对主存储器"空间"进行管理
  • 设备管理 — 对硬件设备的管理,包括输入/输出设备的分配、启动、完成和回收
  • 作业管理 — 任务、界面管理、人机交互等

操作系统分类

类型特点
批处理操作系统单道/多道批处理(主机与外设可并行)
分时操作系统CPU 时间划分为时间片,轮流为各终端服务
实时操作系统在被控对象允许的时间范围内快速反应,可靠性要求高
网络操作系统集中模式 / C/S 模式 / 对等模式
分布式操作系统多台计算机无主次之分,通过通信交换信息
微机操作系统Windows、Mac OS、Linux

嵌入式操作系统特点:微型化、可定制、实时性、可靠性、易移植性(采用 HAL 和 BSP 设计)。

初始化过程(自底向上):片级初始化 → 板级初始化 → 系统初始化。

2. 进程管理

进程组成与状态

进程组成:PCB(进程控制块,唯一标识)、程序(描述做什么)、数据(执行所需数据)。

三态模型(必须熟练掌握转换):

运行 → 就绪(时间片到)
运行 → 阻塞(等待某事件)
阻塞 → 就绪(等待的事件发生)
就绪 → 运行(被调度)

进程三态图

前趋图

详见:架构师-备考 综合知识-系统基础-操作系统-前趋图与资源图

进程同步与互斥

  • 临界资源:各进程间需要以互斥方式对其进行访问的资源
  • 临界区:进程中对临界资源实施操作的那段程序
  • 互斥:同一时间只能由一个任务单独使用临界资源,使用时加锁
  • 同步:多个任务可并发执行,有速度差异,需要等待协调

信号量

  • 互斥信号量:对临界资源互斥访问,初值为 1
  • 同步信号量:对共享资源的访问控制,初值一般是共享资源的数量

P/V 操作

  • P 操作(申请资源):S = S - 1,若 S >= 0 则继续执行;若 S < 0 则阻塞,插入阻塞队列
  • V 操作(释放资源):S = S + 1,若 S > 0 则继续执行;若 S <= 0 则从阻塞队列唤醒一个进程

生产者-消费者问题:三个信号量 — 互斥信号量 S0(仓库使用权),同步信号量 S1(空闲位置数),同步信号量 S2(商品个数)。

进程调度

三级调度

  • 高级调度(作业调度):决定哪个后备作业调入系统,成为就绪进程
  • 中级调度(对换调度):决定交换区中哪个就绪进程调入内存
  • 低级调度(进程调度):决定内存中哪个就绪进程占用 CPU,最活跃、影响最大

调度算法

算法特点
先来先服务 FCFS先到达先分配 CPU,用于宏观调度
时间片轮转每个进程分配相同时间片轮流使用 CPU,用于微观调度
优先级调度优先级大的先分配 CPU
多级反馈调度时间片轮转 + 优先级结合,多级队列不同优先级和时间片

调度方式:可剥夺(高优先级进程可强行抢占 CPU)vs 不可剥夺(必须等当前进程自动释放 CPU)。

死锁

四个必要条件:资源互斥、占有并等待、不可剥夺、环路等待。

处理策略

  • 死锁预防:破坏四个条件之一
  • 死锁避免:银行家算法,提前计算安全序列,不安全则不分配
  • 死锁检测:定时运行检测程序
  • 死锁解除:强制剥夺资源、撤销进程

死锁资源计算:n 个进程各需 R 个资源,发生死锁的最大资源数 = n × (R-1),不发生死锁的最小资源数 = n × (R-1) + 1。

线程 vs 进程

引入线程原因:进程创建、撤销和切换时空开销大,限制了并发程度。

进程线程
资源独立分配资源的单位基本不拥有资源(仅 PC、寄存器、栈)
调度传统上可独立调度调度和分配的基本单位
共享进程间资源独立同进程线程共享进程全部资源
开销创建/切换开销大创建/切换开销小

3. 存储管理

分区存储管理

整存,将进程所需内存整体一起分配。

方式特点
固定分区静态分区,产生内部碎片
可变分区动态分区,产生外部碎片
可重定位分区移动已分配区域合并碎片,仅在外部请求无法满足时触发

可变分区分配算法

算法策略
首次适应法从头查找,找到第一个 >= 所需空间的空间块
最佳适应法空闲块按大小排序,找最接近的
最差适应法找最大的空闲块,防止产生过多细小碎片
循环首次适应法从上次分配位置继续查找,不每次从头开始

分页存储管理

详见:架构师-备考 综合知识-系统基础-操作系统-分页存储管理

逻辑页分为页号和页内地址,通过页表查询页号对应的物理块号。相关概念:页面置换算法(最优算法、先进先出、最近最少使用)、快表。

分段存储管理

将进程空间按逻辑整体分段,段表包含段长和基址两个属性来确定逻辑段在物理段中的位置。

  • 优点:多道程序共享内存,各段修改互不影响
  • 缺点:内存利用率低,内存碎片浪费大

地址越界判断:逻辑地址 (段号, 偏移) 中偏移 > 段长 则为越界。

段页式存储管理

先分段,后分页

  • 优点:空间浪费小、存储共享容易、存储保护容易、能动态链接
  • 缺点:管理软件复杂度和开销增加,执行速度下降

4. 设备管理

设备分类

分类维度类型
按数据组织块设备、字符设备
按设备功能输入/输出/存储/网络联网/供电设备
按资源分配独占设备、共享设备、虚拟设备
按传输速率低速/中速/高速设备

I/O 软件

I/O 软件隐藏了 I/O 操作实现的细节,方便用户使用 I/O 设备。

典型流程:用户程序读文件 → 与设备无关软件检查缓存 → 若无则调用设备驱动 → 向 I/O 硬件发请求 → 用户进程阻塞 → 磁盘操作完成 → 硬件产生中断 → 中断处理程序唤醒用户进程。

SPOOLING 技术

在外设上建立两个数据缓冲区(输入井/输出井),多个进程共用一台独占设备(如打印机),数据排队存储在缓冲区中自动按序处理,实现物理设备的虚拟化,每个进程感觉独占使用。

5. 文件管理

文件概述

文件的逻辑结构:有结构的记录式文件、无结构的流式文件。

文件的物理结构(在物理存储设备上的存放方法):

结构特点
连续结构逻辑连续的文件信息依次存放在连续物理块上
链接结构存放在不连续物理块,每块有指针指向下一块
索引结构存放在不连续物理块,系统建立索引表记录逻辑块号→物理块号映射
多级索引索引表占用一个或多个物理块

存取方法:顺序存取、随机存取。

索引文件结构

详见:架构师-备考 综合知识-系统基础-操作系统-索引文件结构

文件目录

详见:架构师-备考 综合知识-系统基础-操作系统-文件目录

文件存储空间管理

方法原理
空闲区表为每个连续空闲区建立表项,适用于连续文件结构
位示图 (Bitmap)每一位对应一个物理块,0=空闲,1=占用
空闲块链每个空闲块指向下一个空闲块,链表头指针放在特定位置
成组链接法空闲块分组(如 100 块/组),每组第一块登记下一组盘块号和空闲块总数

位示图计算:物理块号 N 在第 ⌊N/字长⌋ 个字中描述(从 0 编号即为第 ⌊N/字长⌋ 个字)。磁盘容量/物理块大小 = 物理块总数 → 除以字长 = 位示图所需字数。