操作系统复习

银行家算法:

假定系统中有四个进程P1,P2,P3,P4和三种类型的资源R1,R2,R3,每一种资源的数量分别为936T0时刻的资源分配情况如表所示:

资源/进程

资源/进程MaxAllocationNeedAvailable
R1R2R3R1R2R3R1R2R3R1R2R3
P1322100222011
P2613612001
P3314211103
P4422002420

分析T0时刻的资源分配情况,可得如表所示的信息。

T0时刻存在的安全序列:

资源/进程MaxAllocationNeed

Work+Allocation

Finish
R1R2R3R1R2R3R1R2R3R1R2R3true
P2613612001623true
P1322100222723true
P3422002420725true
P4314211103936true

Available:0 1 1

P2-Need:0 0 1(可以满足需求)

Available:0 1 0  P2完成

Available:6 2 3

P1-Need:2 2 2(可以满足需求)

Available:4 0 1  P1完成

Available:7 2 3

P3-Need:1 0 3(可以满足需求)

Available:6 2 0 P3完成

Available:9 3 4

P4-Need:4 2 0(可以满足需求)

Available:5 1 4  P4完成

Available:9 3 6 资源全部回收

T0时刻的安全性分析可知,T0时刻存在着一个安全序列<P2,P1,P4,P3>,T0时刻系统是安全的。

银行家算法:

资源/进程MaxAllocationNeedAvailable
R1R2R3R1R2R3R1R2R3R1R2R3
P1322100222011
P2613612001
P3314211103
P4422002420

假设T0时刻,进程P1申请资源,其请求向量为Request1(0,0,1),系统按银行家算法进行检查:

判断线程申请的资源是否小于线程所需要的资源:Request1 (0,0,1) ≤ Need1(2,2,2)

判断线程申请的资源是否小于系统可分配的资源:Request1 (0,0,1) ≤ Available (0,1,1)

以上条件满足即可试探性修改,修改后如下所示

资源/进程MaxAllocationNeedAvailable
R1R2R3R1R2R3R1R2R3R1R2R3
P1322100221010
P2613612001
P3314211103
P4422002420

系统的可用资源向量为Available0,1,0),比较各进程的需求向量Need,系统不能满足任何进程的资源请求,系统进入不安全状态。所以P1请求的资源不能分配,因此只能让进程P1阻塞。

CPU调度算法

完成时间:根据调度算法原理确定;

周转时间 = 完成时间 - 到达时间;

带权周转时间 = 周转时间 / 服务时间;

平均周转时间 = 周转时间之和 / 进程数;

平均带权周转时间 = 带权周转时间之和 / 进程数;

假设系统中有5个进程,它们的到达时间和服务时间见下表

进程

到达时间

服务时间

A

0

3

B

2

6

C

4

4

D

6

5

E

8

2

先来先服务(FCFS):

进程到达时间服务时间完成时间周转时间带权周转时间平均周转时间平均带权周转时间
A0333143/5=8.613.15/5=2.67
B

2

697≈1.1
C441392.25
D6518122.4
E8220126

以上转自:(14条消息) 操作系统原理--调度算法例题_Pluto的博客-CSDN博客_操作系统调度算法例题

非抢占式短进程优先(SPF):在就绪队列中选择服务时间最短的进程进行服务

进程到达时间服务时间完成时间周转时间带权周转时间平均周转时间平均带权周转时间
A0333143/5=8.613.15/5=2.67
B

2

697≈1.1
C441392.25
D6518122.4
E8220126

抢占式短进程优先:后来的进程的服务时间比目前的正在运行进程所需的服务时间更短,则它等待,短服务时间的进程先服务,最后轮到长服务时间的进程。

高响应比优先(HRRN)

响应比 =(等待时间+要求服务时间)/ 要求服务时间

公式:R=1+w/t

进程到达时间服务时间(T)等待时间(W)相应比(R)
A0301
B

2

61≈1.1
C4452.25
D6531.6
E8211.5
进程到达时间服务时间相应比完成时间周转时间带权周转时间平均周转时间平均带权周转时间
A031331
B

2

6≈1.7971.17
C442.251392.25
D65
E82
进程到达时间服务时间相应比完成时间周转时间带权周转时间平均周转时间平均带权周转时间
A03133182.144
B

2

6≈1.7971.17
C442.251392.25
D652.420142.8
E823.51573.5

时间片轮转(RR,时间片=1)

进程到达时间服务时间完成时间周转时间带权周转时间平均周转时间平均带权周转时间
A03441.3310.82.71
B

2

618162.67
C4417133.25
D6520142.8
E821573.4

最短剩余时间:

在同一时刻有多个线程就绪,找到剩余服务时间最短的线程服务。

非抢占式优先级调度算法:每次调度时选择当前已到达且优先级最高的进程。

进程到达时间服务时间优先级
A031
B

2

62
C443
D654
E825
进程到达时间服务时间完成时间周转时间带权周转时间平均周转时间平均带权周转时间
A0333139/5=7.89.67/5=1.934
B

2

697≈1.17
C4420164
D6516102
E821131.5

抢占式优先级调度算法:每次调度时选择当前已到达且优先级最高的进程。当前进程主动放弃处理机时发生调度。

进程到达时间服务时间优先级
A031
B

2

62
C443
D653
E821
进程到达时间服务时间完成时间周转时间带权周转时间
A03331
B

2

61191.5
C4415112.75
D6520142.8
E821021

页面置换算法:

缺页率:p = 置换页数/总引用页数

最佳置换算法(OPT)(理想置换算法)不可能被实现的算法

先进先出置换算法(FIFO)

总是选择在主存中停留时间最长(即最老)的一页置换,即先进入内存的页,先退出内存。

最近最久未使用算法(LRU)

选择在最近一段时间里最久没有使用过的页面予以置换

时钟页面置换算法(CLOCK)

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值