操作系统学习(九)
进程的基本概念
- 调度的类型(层次关系)
- 高级调度
作业调度,J->M (多)
- 低级调度
进程调度,P->CPU (单);分为抢占和非抢占,抢占包括
时间片
,优先权
,短内优先
- 中级调度
对换,P->M
调度准测(CPU高)
- 周转时间短(批处理)
周转时间T=完成时刻-提交时刻=等待时间+运行时间
||提交|开始|完成|
|-|-|-|
|进程A|0|5|10|
等待用了5, 运行用了5;响应时间是5,周转时间是10,这是
非抢占
的方式
||提交|开始|中断|开始|完成|
|-|-|-|-|-|
|进程A'|0|2|5|8|10|
等待2,运行3,等待3,运行2;这是
抢占
的方式
带权周转时间W = T / 运行时间
平均带权周转时间 W平均=(ΣWi) / n
调度算法
- 先来先服务FCFS
|进程名|A|B|C|D|E|
|-|-|-|-|-|
|到达时间|0|1|2|3|4|
|服务时间|4|3|5|2|4|
|开始时刻|0|4|7|12|14|
|完成时刻|4|7|12|14|18|
|T|4|6|10|11|14|
|W|1|2|2|5.5|3.8|
T平均=9 完成时刻 - 到达时刻
W平均=2.8 T / 服务时间
- 短作业(进程)优先(SJ(P)F)
也就是服务时间短的优先运行
|进程名|A|B|C|D|E|
|-|-|-|-|-|
|到达时间|0|1|2|3|4|
|服务时间|4|3|5|2|4|
|开始时刻|0|6|13|4|9|
|完成时刻|4|9|18|6|13|
|T|4|8|16|3|9|
|W|1|2.67|3.2|1.5|2.25|
T平均=8 完成时刻 - 到达时刻
W平均=2.01 T / 服务时间
- 时间片轮转(RR)
q=?
|进程名|A|B|C|D|E|
|-|-|-|-|-|
|到达时间|0|1|2|3|4|
|服务时间|4|3|5|2|4|
q=1
A B C D E A B C D E A B C E A C E C
q=2
AA BB CC DD EE AA BC CE EC
- 优先级
-
- 静态优先级
进程名 | A | B | C | D |
---|---|---|---|---|
到达时间 | 0 | 0 | 2 | 3 |
服务时间 | 3 | 2 | 4 | 2 |
优先级 | 2 | 4 | 1 | 3 |
优先级1是最高的,那么,运行的序列有:
- FCFS : ABCD
- SJF(SPF) : BADC
- 优先级 : ACDB
-
- 动态优先级
-
- 非抢占
-
- 抢占
-
- 响应比高者优先
-
-
响应比=(等待时间+运行时间)/运行时间
-
-
多级队列
-
多级反馈队列(UNIX)
死锁的基本概念
定义:
多个进程因为竞争资源而产生的一种僵死状态,若无外力推动,这些进程将无法继续执行
产生的原因
-
- 资源不足
-
- 进程推进顺序非法
必要条件
- 互斥使用
- 请求并保持(不释放)
- 非剥夺条件(非抢占)
- 环路等待
处理方法
- 预防
- 避免
- 检测
- 解除
死锁的预防和避免
预防
破坏必要条件:
- 互斥
- 静态分配
- 抢占
- 尽次分配
避免死锁
- 安全状态(安全序列)
引出银行家算法
MAX | ALLOCATION | NEED | AVAILABLE | |
---|---|---|---|---|
P0 | (7,5,3) | (0,1,0) | (7,4,3) | (3,3,2) |
P1 | (3,2,2) | (2,0,0) | (1,2,2) | |
P2 | (9,0,2) | (3,0,2) | (6,0,0) | |
P3 | (2,2,2) | (2,1,1) | (0,1,1) | |
P4 | (4,3,3) | (0,0,2) | (4,3,1) |
->
WORK | NEED | ALLOCATION | W+A | FINISH | |
---|---|---|---|---|---|
P0 | (3,3,2) | (1,2,2) | (2,0,0) | (5,3,2) | √ |
P1 | (5,3,2) | (0,1,1) | (2,1,1) | (7,4,3) | √ |
P2 | (7,4,3) | (4,3,1) | (0,0,2) | (7,4,5) | √ |
P3 | (7,5,5) | (7,4,3) | (0,1,0) | (7,5,5) | √ |
P4 | (7,5,5) | (6,0,0) | (3,0,2) | (10,5,7) | √ |
死锁的检测与解除
检测:
- 资源分配图
- 定理:
-
- 查非独立,非阻塞节点,去掉所有边
- 直到去掉所有边
解除
- 抢占资源
- 撤销进程
如转载,请标明出处