操作系统(软件设计师考试)
考点分析 : 进程状态转换图、信号量与PV操作、死锁问题、银行家算法、段页式存储,页面置换算法,磁盘调度,树形文件系统
操作系统是管理整台计算机的软硬件资源的
目录
一、进程状态转换图
- 进制转换
操作系统进程状态: 做图为最开始的时候计算机的进程状态;
(左)三态模型;(右)五态模型;五态模型在三态模型的基础上添加了 静止就绪和静止阻塞状态
二、前驱图
前驱图想表达,哪些任务有先后关系,哪些任务可以直接运行
- 〇 表示一个程序进程,或者结束语句
- → 表示结点间的执行顺序。
如果,A,B,C 的运行时不相干的,可以同时运行,而D需要ABC完成后才能运行,E需要D完成后才能运行则有
我们也可以将ABCDE想象成炒菜的过程
- A洗菜
- B切菜
- C弄辅料
- D炒菜
- E上桌
三、进程管理
-
进程的同步与互斥
同步:在同一时刻只运行一个进程去使用的资源(如独木桥,只能一次走一个人)同步中有速度匹配问题,当一起走时如果距离拉锯太大了另一个需要停下来等另一个
异步:访问的资源是共享资源,可以由多个进程同时访问 -
PV操作
P操作:S=S-1 判断 S< 0: 如果真:堵塞进程,放入进程队列 如果假:继续执行
V操作:
S=S+1 判断S<=0: 如果真:唤醒P操作中放入等待队列的进程 如果假:继续执行程序
PV细分可以分为两种,用到的时候要合起来用,主要解决两个程序直接同步中资源共享冲突问题
图解展示
- PV操作和前驱图
根据上方前驱图作为例子,列出对应的PV操作
设ABCD初始化值 有: 进程D
SA=0 P(SA)
SB=0 P(SB)
SC=0 P(SC)
SD=5 P(SD)
执行进程D
V(SD)
进程E
P(SD)
执行E
-
死锁问题
如果系统发现在某一时刻发现系统可用的资源都被分配出去了,而运行中的进程没有资源完成本身的操作了,就会造成死锁。假设有k个进程,每个进程需要n个资源,则系统至少需要多 k × ( n − 1 ) + 1 k\times (n-1)+1 k×(n−1)+1个资源保证不会出现死锁
可以假设有两个进程k=2;每个进程需要5个资源;如下表,有8个资源已经平均分配了,最后差还差1个资源,就可以使得A或B正常运行,等A或B正常运行完后就会释放资源运行另外一个,即不会造成死锁
A | B |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
- 银行家算法
造成死锁的四个条件缺一不可:- 互斥(资源不能同时使用);
- 保存和等待:进程会保留自己的资源,等待其他进程释放资源给自己
- 不剥夺:不全抢其他进程资源
- 环路等待:如有ABC三个进程,A等B释放资源,B等C释放资源,C等A释放资源
银行家算法:在放贷款前考虑钱能不能收回来;可以收回来就释放贷款; 系统先判断所给资源能否时改程序运行完,如果能就给程序资源
例题:假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为9、8和5。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示。如果进程按 ( ) 序列执行,那么系统状态是安全的。
进程\资源 | 最大需求量 R1 R2 R3 | 已分配资源数 R1 R2 R3 |
---|---|---|
p1 p2 p3 p4 p5 | 6 5 1 2 2 1 8 1 1 1 2 1 3 4 4 | 1 2 1 2 1 1 2 1 0 1 2 0 1 1 3 |
A、P1→P2→P4→P5→P3
B、P2→P1→P4→P5→P3
C、P2→P4→P5→P1→P3
D、P4→P2→P5→P1→P3
-
解:
-
首先由题目得R1,R2,R3分别资源为9,8,5;通过这个点去看看系统分配的资源后剩下多少
R1剩余资源=9-1-2-2-1-1=2
R2剩余资源=8-2-1-1-2-1=1
R3剩余资源=5-1-1-3=0
接着我们就试着将选项一个个带进去算:
P1先执行R1需要分配5个资源,而R1只剩下2两个即A错误
P2先执行,R1需要0个资源,R2需要分配1个资源,R3需要分配0个资源
P2执行完释放资源此时R1有4个资源,R2有2个,R3有1个,依次类推,C正确
四、存储管理
1. 分区存储组织
- 首次适应法: 找到第一个分配空间进行分配
- 最佳适应法:找到最少的且又符合分配需求的空间进行切割分配
- 最差适应法: 找到最大的且又符合分配需求的空间进行分配
- 循环首次适应法:
- 缺陷:有着严重的碎片问题,使得内存利用率不高
2.页式存储组织
- 把用户程序分成等分大小的页,用页表记录用户程序和内存之间的对应关系;
- 页表可以让我们知道进程中的页号对应放在物理内存中的页框号,从而可以求出页框的首地址
- 页框:将内存空间分成一个个大小相等的区域,如每个区域放4KB
- 实现地址的转换:起始地址+进程页内地址
3.段式存储组织
- 段式存储在地址结构上和页式存储差不多,但是在切割内存上是不一致的,页式存储在内存上要求一致,而段式存储不要求一致
- 优点: 多通道程序共享内存,各段程序修改互不影响
4. 段页式存储组织
- 段式存储和页式存储混合起来
5. 块表
- 快表是一块小容量的相联存储器,由高速缓存器组成,速度快,一般用在访问最频繁的少数活动页面的页号
6. 页面置换算法
-
最优算法
-
随机算法
-
先进先出(FIFO)算法
-
最近最少使用(LRU)算法
7. 索引文件结构
8. 文件和树形目录结构
9. 位示图法
10 . 数据传输控制方式
- 指内存和外设之间的数据传输控制问题
- 程序控制方式
- 程序中断方式
- DMA方式
- 通道
- 输入输出处理机
5. 虚拟设备与SPOOLING技术
- 开通了一个缓冲区,把要输入和输出的数据缓存起来,按照队列的输出情况进行处理