前言
专为软考人打造的「操作系统」终极攻略!🔥 覆盖进程管理、死锁、存储系统等必考重难点,搭配20+经典真题详解与手写答题模板,助你快速吃透命题规律!🚀 无论你是零基础冲刺还是考前查漏补缺,这份「考点地图」+「秒杀技巧」组合拳,让你考场效率翻倍!💯
一、模块介绍
- 占比6分
二、操作系统地位
- 计算机系统层次结构图
- 计算机系统由**软件和硬件**组成
- 操作系统是裸机的第一层,软件是对硬件系统概念的扩展。
- 例题1
- 例题2
三、进程管理
简介:
- 别称:处理机管理
基本概念
- 前趋图
- 前趋图是一个有向无循环图
- 它由结点和由向边组成,结点代表各程序段的操作,而结点间的有向边表示两个程序操作间存在前趋关系
- 前趋图是一个有向无循环图
- 程序顺序执行时的主要特征:
- 封闭性、可再现性、顺序性
- 扩展:PV操作
- P(s):为 s=s-1
- V(s) :为:s=s+1
- S状态为:0或1
- 举例说明:
- 例题1
- 例题2
- 例题3
- 例题4、
- 例题5
- 例题6
四、程序并发执行和前驱图
- 程序并发执行的特征
- 特征
- 程序并发执行的问题
- 例题1
- 例题2
五、进程的三态模型
- 在多道程序系统中,进程在处理上交替运行,状态也不断地发生变化,因此进程一般有3种基本状态:
- 运行
- 就绪
- 阻塞
- 就绪状态(先进先出):
- 例题1
- 注意:此答案有争议?
- 例题2
六、进程的五态模型(了解)
七、同步和互斥
- 在多道程序环境的系统中存在多个可以并发执行的进程,故:进程间必然存在资源共享和互相合作的问题。
- 资源共享问题----》互斥解决
- 互相合作问题----》同步
八、临界区管理原则
九、信号机制和PV操作
记:PV操作主要为了实现资源的同步和互斥
- 整形信号与PV操作
- 公有信号量:
- 实现互斥
- 初值为1
- 私有信号量:
- 实现同步
- 初值为0或某个正整数
- 公有信号量:
- 信号量S的含义:
- S≥0:表示**资源可用数**
- S<0:
- s的绝对值表示
- 等待进程数
- s的绝对值表示
- 例题1
- 例题2
- 例题3
- 例题4
- 例题5
过程:
十、PV操作实现进程的互斥
- P()为:-1
- V()为:+1
- 例如:
- S=1,
- 执行P(s) # s为0
- 再执行P(s) # s为-1
- 结果:S再执行c后需要等待
十一、PV操作实现进程的同步
- 案例:生产者与消费者
- 同步可能出现的问题
- 可能出现:S1和S2同时执行,导致 S的个数不对
- 解决方案:
- 加一个S的互斥量
- 例题1
- 例题2
- 例题3
十二、死锁
- 解决问题:同类资源分配不当引起的死锁
- 公式:m为资源、n为进程数、k为一个进程需要的最大需求数
- m>=n*(k-1)+1
- 例题1
- 例题2
m>=6(2-1)+1
m>=7
5. 例题3- 例题4
m>=5(3-1)+1
m>=11
7. 例题5- 例题6
十三、进程资源图
- 记**:先分配资源,再申请资源**
- 考点:
- 判断结点会不会阻塞
- 判断该图是否能化简
- 案例
- 注意:P1已完成后,会释放掉使用的资源
化简答案:
- 例题1
注意点:申请是可能给你的资源,不是直接给你
- 例题2
十四、死锁的处理
- 四种方案
- 脱离策略(不理睬策略)
- 直接不解决
- 预防策略
- 避免策略(重点)
- 检测与解除死锁
- 脱离策略(不理睬策略)
- 死锁避免策略
- 使用的银行家算法
- 案例:
- 步骤:将所剩下的资源,给能够执行完成的进程,该进程执行完成后,释放使用的所有资源,再找下一个可以执行完成的进程,直到结束。
- 例题1
- 例题2
十五、线程
扩展
传统的进程有两个基本属性:
1. 可拥有资源的独立单位
2. 可独立调度的分配的基本单位
线程简介
- 线程把传统的进程两个属性分开
- 线程作为调度和分配的基本单元
- 进程作为独立分配资源的单位
- 线程是进程中的一个实体
- 线程可与同属一个进程的其他线程共享进程所拥有的全部资源。
- 每个线程之间是隔离的
- 例题1
十六、程序局部性原理
- 时间局限性和空间局限性
- 淘汰规程:
- 例题1
- 例题2
十七、分页存储管理
- 地址管理
- 逻辑地址=页号+页内地址
- 考点:给一个逻辑地址,求它对应的物理地址
- 案例
- 例题1
- 页帧号=物理块号
- 例题2
- 例题3
- 例题4
十八、段页式存储管理
- 技巧
- 例题1
十九、单缓冲区
- 非空时,I/O设备不能像缓冲区输入作业
- 非满时,不能将缓冲区的作业,传到工作区
- 考题形式:
- 求n个进程需要的总时长:
- 公式:
- 注意点:m需要大于等于c
二十、双缓冲区
- 考题形式:
- 注意点:T大于等于 m+c
- 公式:
、
- 例题1
:::color1
t=10
m=5
c=2
n=10
单:m>c
(10+5)*10+2=152
双:t>=m+c
10*10 +5+2=107
:::
- 例题2
二十一、磁盘调度算法
先来先服务(FCFS)
总结:按照请求顺序依次访问
最短寻道时间优先(SSTF)
总结:找距离最短的
扫描算法或电梯调度算法(SCAN)
- 总结:一直向一个方向走 ,直到走到尽头,再换一个方向走。
循环扫描算法或单向扫描算法(CACAN)
总结:一直向一个方向走 ,直到走到尽头,去到最外测,从外向内走
例题
- 记
- 例题2
- 技巧:先排序后,再开始找
- 例题3
二十二、旋转调度算法
- 案例
- 优化方案:
- 按逻辑记录的位置存储
- 例题1
- 例题2
- 例题3
6*10
60+100+20
180*100
- 例题4
二十三、多级索引
直接索引:一块对一个
一级间接索引:1块对n
二级间接索引:1块对n对n个
- 例题1
如果没有给出索引位置:默认为1
开头
1
1025
2046
3073
4097
对于:5120来说:大于4096
- 例题2
512/3=170
- 例题3
- 例题4
- 例题5
- 例题6
二十四、文件目录
- 例题1
二十五、目录结构
- 分类:一级、二级、多级目录结构
- 绝对:从跟路径开始
- 相对:从当前目录出发
- 例题1
- 例题2
- 例题3
二十六、位示图
- 含义:用二进制的一位来表示一个物理块的使用情况。
- 用途:位示图这种方法是再外存上建立一张位示图(BitMap),记录文件存储器的使用情况。
- 考点:
- 求位示图中的第几个字
- 求位位示图大小位多少个字
- 例题1
4096/32+1=129
200*1024MB/1MB*32
- 例题2
- 例题3
- 例题4
- 例题5
二十七、杂题
- 题1
- 题2
- 题3
- 题4
- 题5
- 题6
- 题7
- 题8
- 题9
- 题10
- 题11
- 题12
- 记:
- 题13
- 题14
- 题15
- 题16
- 记:
- 磁盘调度:先移臂,再旋转
- 题17
- 题18
- 题19
- 题20