一、操作系统核心功能与分类
-
五大核心功能
-
进程管理:进程调度、同步、通信、死锁处理。
-
存储管理:内存分配、虚拟内存、地址转换。
-
设备管理:I/O控制、缓冲技术、设备分配。
-
文件管理:文件结构、目录管理、磁盘空间分配。
-
用户接口:命令接口(CLI)、程序接口(API)、图形接口(GUI)。
-
-
操作系统分类与特点
-
批处理系统:作业成批处理,无交互,吞吐量高。
-
分时系统:时间片轮转,多用户交互(如Linux)。
-
实时系统:
-
硬实时:严格截止时间(如导弹控制)。
-
软实时:允许偶尔超时(如视频播放)。
-
-
微内核 vs 宏内核:
-
微内核(如Minix):仅核心功能在内核态,扩展性好。
-
宏内核(如Linux):多数功能在内核态,性能高。
-
-
-
操作系统的地位
操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。它在计算机系统中占据重要而特殊的地位,所有其他软件,如编辑程序、汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件都是建立在操作系统基础上的,并得到它的支持和取得它的服务。从用户角度看,当计算机配置了操作系统后,用户不再直接使用计算机系统硬件,而是利用操作系统所提供的命令和服务去操纵计算机,探作系统已成为现代计算机系统中必不可少的最重要的系统软件,因此把操作系统看作是用户与计算机之间的接口。

二、进程管理
1. 进程与线程
- 进程三态模型:运行态、就绪态、阻塞态。
-
线程 vs 进程:
-
进程是资源分配单位,线程是CPU调度单位。
-
线程共享进程的地址空间和资源,切换开销小。
-
2. 进程同步与通信
-
信号量(PV操作):
-
互斥信号量 :初值为1(如 mutex=1)。
-
同步信号量 :初值为0或资源数(如 empty=N)。
-
经典问题:
-
生产者-消费者 :需两个信号量(
empty
和full
) + 互斥锁。 -
读者-写者:写者优先 vs 读者优先。
-
-
-
死锁:
-
四个必要条件:互斥、请求保持、不可剥夺、环路等待。
-
处理策略:
-
预防:破坏四个条件之一(如一次性申请所有资源)。
-
避免:银行家算法(安全状态判断)。
-
检测与解除:资源分配图化简法。
-
-

3. 调度算法
算法 | 特点 | 缺点 |
---|---|---|
FCFS | 按到达顺序调度,公平 | 长作业等待时间长 |
SJF | 最短作业优先,平均等待时间最短 | 需预知作业时间,可能饥饿 |
RR | 时间片轮转,响应快 | 时间片大小影响性能 |
优先级调度 | 优先级高的先执行 | 低优先级可能饥饿 |
多级反馈队列 | 结合优先级和时间片,动态调整队列 | 实现复杂 |
三、存储管理
1. 内存分配
-
连续分配:
-
固定分区:内存划分固定大小区域,易产生内部碎片。
-
动态分区:首次适应、最佳适应、最坏适应算法。
-
-
非连续分配:
-
分页:逻辑地址 = 页号 + 页内偏移,物理地址 = 页框号 + 偏移。
-
分段:按逻辑模块划分,支持动态扩展。
-
段页式:分段 + 分页结合。
-
2. 虚拟内存(必考置换算法)
-
页面置换算法:
-
OPT:理想算法,淘汰未来最久不用的页(无法实现)。
-
FIFO:先进先出,可能产生Belady异常。
-
LRU:最近最少使用,需硬件支持(如计数器或栈)。
-
CLOCK:近似LRU,环形链表标记访问位。
-
例题 :
访问序列:1, 3, 4, 2, 1, 5, 3, 2,物理块3个。
-
FIFO缺页次数:6次(替换顺序:1→3→4→2→5→3)。
-
LRU缺页次数:5次(替换顺序:4→1→5→3→2)。
四、文件系统
1. 文件结构
-
顺序文件:连续存储,适合批量访问。
-
索引文件:通过索引表随机访问(如UNIX多级索引)。
-
哈希文件:直接通过哈希函数定位。
2. 磁盘调度算法(计算寻道时间)
算法 | 特点 | 示例(磁道请求:45, 83, 62, 120, 20) |
---|---|---|
FCFS | 按请求顺序 | 总移动磁道数:55+38+21+58+100=272 |
SSTF | 最短寻道优先 | 总移动:20→45→62→83→120 → 总移动=25+17+21+37=100 |
SCAN | 电梯算法,单向扫描到底后返回 | 总移动:62→83→120→45→20 → 总移动=21+37+75+25=158 |
C-SCAN | 单向扫描,直接返回起点 | 总移动:62→83→120→20→45 → 总移动=21+37+100+25=183 |
五、设备管理
1. I/O控制方式
-
程序查询:CPU轮询设备状态,效率低。
-
中断驱动:设备就绪后通知CPU,但频繁中断开销大。
-
DMA:直接内存访问,数据传输不经过CPU。
-
通道控制:专用I/O处理器,独立控制多设备。
2. 缓冲技术
-
单缓冲:CPU和设备交替使用缓冲区。
-
双缓冲:解决速度不匹配,提高并行性。
-
循环缓冲:多个缓冲区组成环形队列。
相关题型:https://blog.csdn.net/widder_/article/details/148117079