Appearance
操作系统
第一章
1. 操作系统的名称、在计算机系统中所起的作用、操作系统的设计目标;
- Linux/Windows || 实时/分时/批处理/嵌入式
- 用户和硬件的接口 | 管理计算机资源(处理机、存储器、IO、文件)| 实现计算资源的抽象
- 提高资源利用率 | 适应器件更新迭代 | 安全漏洞 |
2. 操作系统的五大功能:处理机(CPU)和进程管理、存储器管理、设备管理、文件管理、操作系统与用户间接口
第二章
1. 理解进程的基本概念;
- 进程是程序的一次执行过程,是系统进行资源分配和调度的独立单位(1),是可独立调度和分派的基本单位(2)。可以并发
- 动态性 | 并发性 | 独立性 | 异步性
2. 理解进程和线程的关系;
- 线程变为调度和分配的基本单位

3. 理解和掌握进程的状态图:三状态模型、五状态模型;
- 三状态:就绪、运行、阻塞
- 五状态:加入创建和终止状态
- 七状态
4. 理解进程的同步和互斥概念,理解临界资源的概念

- 打印机、I/O设备、文件等,属于临界资源,进程间要采用互斥方式实现资源共享;软件资源:信号量、共享变量

5. 如何用信号量、临界区来实现进程同步、互斥;

- 互斥、有序访问、防止死锁、公平性


- 生产消费者
- 哲学家进餐
- 小和尚老和尚
6. 理解死锁的概念、死锁产生的原因和产生的必要条件;
7. 掌握避免死锁的银行家算法和安全检测算法;
- 安全监测
- 银行家
第三章
1. 进程调度的两种方式:非抢占和抢占
2. 理解时间片的概念;
3. 理解作业的周转时间、带权周转时间、响应比的概念,掌握它们的计算方法;
- 周转时间 = 完成时间 - 到达时间
- 等待时间 = 周转时间 - 运行时间 = 完成时间 - 到达时间 - 运行时间
- 带权周转时间 = 周转时间 / 运行时间
- 响应比:
4. 理解和掌握基本的作业/进程调度算法;

- 先来先服务 (FCFS)
- 最短作业优先 (SJF)
- 优先级调度 (Priority Scheduling), 等待时间就是优先级
- 高响应比优先 (HRRN), 响应比
- 时间片轮转 (RR) : 按照到达顺序分别执行时间片
- 多级队列调度 (Multilevel queue scheduling)
第四章
1. 理解存储器的分配方式;
存储器的分配方式是操作系统内存管理的核心内容之一,主要解决如何将有限的物理内存分配给多个并发运行的进程。根据不同的管理策略,常见的存储器分配方式可分为以下几类:
一、连续分配方式(Contiguous Allocation)
将内存划分为连续的区域分配给进程。适用于早期系统。
1. 单一连续分配
- 内存分为系统区和用户区。
- 只能运行一个用户进程。
- ✅ 简单;❌ 无法多道程序,资源浪费大。
- 应用于单用户单任务系统(如 DOS)。
2. 固定分区分配(Fixed Partitioning)
- 启动时将内存划分为若干大小固定的分区。
- 每个分区装入一个作业。
- ❌ 会产生内部碎片(作业小于分区时浪费)。
- 分区大小可相等或不等,但一旦划分不可变。
3. 动态分区分配(Variable Partitioning)
- 根据进程实际需求动态创建分区。
- 初始内存为一大块,随进程到来/结束而分裂/合并。
- ✅ 无内部碎片;❌ 会产生外部碎片(空闲块太小且不连续)。
- 需要空闲分区管理算法:
- 首次适应(First Fit)
- 最佳适应(Best Fit)
- 最坏适应(Worst Fit)
- 邻近适应(Next Fit)
🛠️ 为缓解外部碎片,可采用紧凑(Compaction)技术,将进程移动使空闲区合并(需支持地址重定位)。
二、离散分配方式(Non-contiguous Allocation)
允许一个进程的内存分布在不连续的物理块中,提高内存利用率。
1. 分页存储管理(Paging)
- 将逻辑地址空间和物理内存都划分为固定大小的页/块(如 4KB)。
- 逻辑页 → 物理块通过页表映射。
- ✅ 无外部碎片;❌ 有内部碎片(最后一页可能不满)。
- 支持虚拟内存。
- 地址结构:
[页号 | 页内偏移]
2. 分段存储管理(Segmentation)
- 按程序的逻辑结构(如代码段、数据段、堆栈段)划分。
- 段大小可变,由用户/编译器决定。
- 每段有段表项:基址 + 长度。
- ✅ 便于共享与保护;❌ 有外部碎片。
- 地址结构:
[段号 | 段内偏移]
3. 段页式存储管理(Segmented Paging)
- 结合分段和分页的优点:
- 先分段(逻辑清晰、便于共享)
- 再对每段分页(消除外部碎片)
- 每个进程:一张段表 + 每段一张页表
- 地址转换需两次查表(段表 → 页表 → 物理地址),开销大。
- ✅ 无外部碎片,支持共享;❌ 有内部碎片,管理复杂。
2. 理解逻辑地址、物理地址的概念;

3. 理解和掌握分页存储管理方式、分段存储管理方式的基本原理、地址映射过程;


4. 理解“内存碎片”的概念;
5. 内存分配算法
- 首次适应算法(First Fit):空闲分区大小递增链接,从头开始查找,找到第一个能满足要求的分区进行分配。
- 循环首次适应算法(Next Fit): 从上一次空闲的位置开始查找,找到第一个能满足要求的分区进行分配。
- 最佳适应算法(Best Fit): 每次都从空闲分区链表中选择最小的能满足要求的分区进行分配。
- 最差适应算法(Worst Fit): 每次都从空闲分区链表中选择最大的分区进行分配。

6. 伙伴系统





第五章
1. 理解虚拟存储器的基本概念;
- 虚拟存储器是一种存储管理技术,它使得程序可以使用比实际物理内存更大的地址空间。通过将不常用的数据和代码暂时存储在辅助存储设备(如硬盘)上,虚拟存储器允许程序运行时只需加载必要的部分到物理内存中,从而提高了内存利用率和系统性能。
2. 理解和掌握请求分页存储管理方式的原理;
3. 掌握页面置换算法的原理;
- 缺页率 = 缺页次数 / 总访问次数

最佳置换
先进先出(FIFO)
最近最少使用(LRU), 换出最长时间未被访问的页面
最少使用(LFU), 换出访问次数最少的页面
Clock算法
4. 理解“抖动”产生的原因、工作集的基本概念;
✅ 什么是抖动?
抖动 是指:
系统花费大量时间在页面的换入换出(I/O 操作)上,而几乎没有时间执行有用进程的现象。此时 CPU 利用率急剧下降,系统“忙而无效”。
通俗地说:进程刚把一页调入内存,马上又被换出;再要用时又得调入……陷入恶性循环。
🔍 抖动产生的原因
分配给进程的物理页框太少
- 进程的活跃页面数 > 分配的页框数
- 导致频繁缺页 → 频繁置换
多道程序度过高(并发进程太多)
- 所有进程争抢有限的物理内存
- 每个进程都得不到足够的页框 → 都频繁缺页
页面置换算法不合适
- 如 FIFO 可能淘汰即将使用的页,加剧缺页
缺乏对进程“局部性”的尊重
- 程序具有时间局部性(近期访问的页很可能再次访问)
- 若内存无法容纳当前“活跃页面集合”,就会不断换页
💡 核心矛盾:进程需要的最小内存 > 实际分配的内存
二、工作集(Working Set)——解决抖动的关键思想
✅ 什么是工作集?
工作集 是指:
在最近 Δ 个内存访问(或时间窗口 Δ)内,进程所访问的页面集合。
记作:W(t, Δ),表示在时刻 t 的过去 Δ 时间内访问过的所有页面。
- Δ 称为工作集窗口大小
- 工作集反映了进程当前的“活跃页面需求”
📌 工作集的核心思想
- 程序执行具有局部性原理:
- 时间局部性:刚访问的页面很可能很快再被访问
- 空间局部性:访问某地址,其附近地址也可能被访问
- 因此,在任一时间段内,进程只“活跃”使用一部分页面 —— 这就是它的工作集
✅ 关键结论:
当分配给进程的页框数 < 其工作集大小时,就会发生抖动。
三、操作系统如何应对抖动?(实际策略)
- 采用工作集模型进行内存分配
- 设置缺页率上限:若某进程缺页率过高,说明内存不足,应增加其页框
- L=S 调度策略(Page Fault Frequency, PFF):
- 监控缺页间隔时间 L
- 若 L 太小(缺页太频繁)→ 增加内存
- 若 L 太大(内存过剩)→ 减少内存
- 降低多道程序度:挂起部分进程,集中资源给活跃进程
四、图示理解(文字版)
时间轴: ... [Δ窗口] ...
↑
当前时刻 t
在 Δ 时间内访问的页面:{页2, 页5, 页7, 页3}
→ 工作集 W(t, Δ) = {2, 3, 5, 7} → 至少需要 4 个页框
若只分配 2 个页框 → 必然频繁换页 → 抖动!第六章
1. 理解中断的概念;
中断(Interrupt)是指在计算机执行程序过程中,由于内部或外部事件的发生,CPU 暂停当前程序的执行,转去处理该事件,处理完毕后再返回原程序继续执行 的机制。
作用:实现 CPU 与 I/O 设备的并行工作、处理异常、支持多任务等。
分类:
- 硬件中断:由外部设备(如键盘、磁盘)或硬件故障触发(如时钟中断、I/O 中断)。
- 软件中断:由程序指令主动引发(如系统调用 int 0x80 或异常,如除零错误)。

2. 理解中断响应以及中断处理过程;
- 中断响应(由硬件自动完成)
- CPU 检测到中断请求;
- 完成当前正在执行的指令;
- 关中断(防止嵌套干扰);
- 保存现场:将程序计数器(PC)、程序状态字(PSW)等关键寄存器压入堆栈;
- 根据中断类型,跳转到对应的中断服务程序(ISR)入口地址。
- 中断处理(由操作系统软件完成)
- 执行中断服务程序(ISR):
- 识别中断源;
- 进行相应处理(如读取键盘输入、完成磁盘数据传输);
- 恢复现场:从堆栈中弹出之前保存的寄存器值;
- 开中断;
- 返回原程序(通过中断返回指令,如 IRET),继续被中断处的执行。
第七章
1. 理解文件系统的基本功能;
文件系统是操作系统中用于管理和组织存储设备上文件的机制,其主要功能包括:
| 功能 | 说明 |
|---|---|
| 按名存取 | 用户通过文件名访问文件,无需关心物理位置(如磁盘块号) |
| 文件存储空间管理 | 分配和回收磁盘空间(如位示图、空闲链表、成组链接法) |
| 文件目录管理 | 组织文件结构,支持创建、删除、查找、重命名等操作 |
| 文件读写操作 | 提供打开、读、写、关闭等接口,控制对文件的访问 |
| 文件共享与保护 | 支持多用户共享文件,并通过权限机制(如读/写/执行)实现保护 |
| 提供统一接口 | 屏蔽底层存储设备差异,为用户提供一致的文件操作视图 |
✅ 核心目标:让用户方便、安全、高效地使用文件,而无需了解物理存储细节。
2. 理解文件的逻辑结构、文件目录的概念;
(1)文件的逻辑结构
指从用户视角看到的文件组织形式,与物理存储无关。分为两类:
无结构文件(流式文件)
- 文件是一串字符序列,无内部结构(如文本文件、源代码)。
- 操作以字节或字符为单位(如
read()、write())。
有结构文件(记录式文件)
- 文件由若干记录组成(如数据库表、学生信息表)。
- 记录可定长或变长,支持按记录读写(如“读第3条记录”)。
- 现代系统中较少直接支持,多由应用程序或 DBMS 实现。
💡 注意:现代操作系统(如 Linux、Windows)主要将文件视为无结构的字节流。
(2)文件目录的概念
定义:文件目录是文件控制块(FCB)的有序集合,用于管理文件信息。
作用:
- 实现“按名存取”;
- 组织文件层次结构(如树形目录);
- 存储文件元数据(如文件名、大小、创建时间、物理地址、权限等)。
目录项内容(即 FCB):
- 文件名
- 文件类型
- 物理位置(如索引节点号 i-node)
- 文件大小、访问权限、时间戳等
目录结构发展:
- 单级目录 → 两级目录 → 树形目录(多级目录,支持子目录嵌套)→ 图形目录(带链接)
✅ 现代文件系统(如 NTFS、ext4)采用多级树形目录,支持路径名(如
/home/user/file.txt)。
第八章
1. 理解常用的磁盘调度算法;
先来先服务(FCFS)
最短寻道时间优先(SSTF)
扫描算法(SCAN)
循环扫描算法(C-SCAN)














































