适合读者:软考中级备考同学
阅读时间:4分钟
内容:操作系统板块知识体系回顾、核心对比表、易错点汇总、下期预告
一、板块内容概览
"操作系统"板块共完成 28篇 文章,覆盖以下知识模块:
| 知识模块 | 篇数 | 核心内容 |
|---|---|---|
| 操作系统概述 | 2篇 | 定义、五大功能、发展历程(批处理/分时/实时) |
| 进程管理 | 10篇 | 进程概念、状态转换、PCB与上下文切换、调度算法、PV操作、前趋图、经典同步问题(生产者-消费者/读者-写者/哲学家进餐) |
| 死锁 | 4篇 | 必要条件、预防与避免(银行家算法)、检测与恢复 |
| 存储管理 | 8篇 | 分区/页式/段式/段页式、虚拟存储、页面置换(OPT/FIFO/LRU/CLOCK)、磁盘调度 |
| 复习总结 | 4篇 | 进程管理+存储管理对比表、板块总结 |
二、核心对比表汇总
2.1 进程调度算法对比
| 算法 | 调度方式 | 优点 | 缺点 | 是否饥饿 |
|---|---|---|---|---|
| FCFS | 非抢占 | 简单公平 | 护航效应 | 无 |
| SJF(非抢占) | 非抢占 | 平均等待时间最短 | 需预知运行时间 | 有 |
| 优先级(动态) | 可抢占 | 防止饥饿 | 实现复杂 | 无 |
| 时间片轮转 | 抢占 | 响应快,公平 | 切换开销 | 无 |
2.2 PV操作经典场景信号量设计
| 应用场景 | 信号量设置 | 关键点 |
|---|---|---|
| 互斥 | mutex初值=1 |
P/V成对包围临界区 |
| 同步(前驱关系) | 每个关系一个信号量,初值=0 | 前驱V,后继P |
| 生产者-消费者(容量n) | empty=n, full=0, mutex=1 |
先同步后互斥(顺序不能颠倒) |
| 读者-写者(读优先) | rw_mutex=1, count_mutex=1 |
首读P(rw),末读V(rw) |
2.3 存储管理方式对比
| 对比项 | 页式存储 | 段式存储 | 段页式存储 |
|---|---|---|---|
| 划分依据 | 固定大小页 | 逻辑段(可变长) | 先分段再分页 |
| 内部碎片 | 有(最后一页) | 无 | 有 |
| 外部碎片 | 无 | 有 | 无 |
| 地址转换 | 1次查表 | 1次查表+越界检查 | 2次查表 |
| 反映逻辑结构 | 否 | 是 | 是 |
2.4 页面置换算法对比
| 算法 | 淘汰依据 | Belady异常 | 是否可实现 | 缺页率 |
|---|---|---|---|---|
| OPT | 未来最长时间不访问 | 无 | ❌ | 最低 |
| FIFO | 最早进入内存 | 有 | ✅ | 较高 |
| LRU | 最久未被访问 | 无 | ✅ | 较低 |
| CLOCK | R位为0(近似LRU) | 无 | ✅ | 中等 |
2.5 磁盘调度算法对比
| 算法 | 选择依据 | 是否饥饿 | 平均寻道 |
|---|---|---|---|
| FCFS | 请求到达顺序 | 无 | 高 |
| SSTF | 离当前磁头最近 | 有 | 较低 |
| SCAN(电梯) | 当前方向上的下一个 | 无 | 低 |
| C-SCAN | 单向循环 | 无 | 较低 |
三、易错点汇总
| 易错点 | 正确理解 |
|---|---|
| 阻塞→运行可以直接转换 | ❌ 必须先"阻塞→就绪→运行" |
| 互斥信号量初值为0 | ❌ 互斥初值为 1 ;同步初值为 0 |
| PV操作中P顺序可以随意 | ❌ 先同步后互斥,反之可能死锁 |
| 不安全状态=死锁 | ❌ 不安全状态≠死锁,是可能发展为死锁的危险区 |
| 页式存储无任何碎片 | ❌ 页式有内部碎片(最后一页),无外部碎片 |
| 段页式地址转换只需一次查表 | ❌ 需要两次查表(段表+页表) |
| FIFO不会发生Belady异常 | ❌ FIFO是唯一会出现Belady异常的算法 |
| CLOCK淘汰R=1的页面 | ❌ R=1清零继续扫描,R=0才淘汰 |
四、记忆口诀汇总
进程状态:就绪等CPU,运行正执行,阻塞等I/O,新建终止补五态。
调度算法:FCFS按序来,SJF找最短,优先级动态,轮转时间片。
PV操作:互斥初值1,同步初值0,P在前V在后,顺序不能倒。
死锁条件:互斥持有不可抢,循环等待把命丧。
存储管理:页式等长消外碎,段式逻辑易共享,段页结合两表查。
页面置换:OPT看未来,FIFO先来,LRU看过去,CLOCK扫一圈。
磁盘调度:FCFS公平慢,SSTF快但饿,SCAN电梯走,C-SCAN单向环。
五、板块总结表
| 板块 | 完成篇数 | 覆盖内容 |
|---|---|---|
| 1. 计算机系统知识 | 28篇 | ✅ 已完成 |
| 2. 程序语言与编译 | 16篇 | ✅ 已完成 |
| 3. 操作系统 | 28篇 | ✅ 已完成 |
| 4. 软件工程 | 24篇 | 即将开始 |
六、下期预告:板块4 -- 软件工程
软件工程在软考中占 10-12分,是分值最高的板块之一。主要内容:
| 知识模块 | 核心内容 |
|---|---|
| 软件生命周期与开发模型 | 瀑布、增量、螺旋、敏捷(Scrum/XP) |
| 需求工程 | 需求获取、分析、规格说明、验证 |
| 结构化设计 | DFD数据流图、SC结构图、耦合与内聚 |
| 软件测试 | 白盒测试(逻辑覆盖)、黑盒测试(等价类/边界值) |
| 软件维护 | 改正性/适应性/完善性/预防性维护 |
| 质量管理 | ISO 9126质量特性、CMM/CMMI |
| 项目管理 | 项目估算(LOC/FP/COCOMO)、风险管理、配置管理 |
特别注意 :下午题中 DFD数据流图 和 测试用例设计 是必考内容,这部分在写作时会重点讲解解题方法。
从下一篇文章开始,我们将进入 软件工程 板块。请持续关注本专栏,每日更新,陪你一起拿下软考中级!
🔔 本专栏日更,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容
#软考中级 #软件设计师 #操作系统 #板块总结 #软件工程