夏考操作系统原理离线作业.doc
《夏考操作系统原理离线作业.doc》由会员分享,可在线阅读,更多相关《夏考操作系统原理离线作业.doc(9页珍藏版)》请在冰豆网上搜索。
![夏考操作系统原理离线作业.doc](https://file1.bdocx.com/fileroot1/2022-10/19/d72afd04-cec8-4b89-85c9-2a7beebbb4ae/d72afd04-cec8-4b89-85c9-2a7beebbb4ae1.gif)
浙江大学远程教育学院
《操作系统原理》课程作业
第一次(第1、2章)
应用题
1.桌上有一个空盒,盒内只允许放一个水果。
妈妈轮流向盒内放桔子和苹果,儿子专等吃盒中的桔子,女儿专等吃盒中的苹果。
若盒内已有水果,放者必须等待,若盒内没有自己吃的水果,吃者必需等待。
试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现三个进程正确的并发执行。
var(信号量)﹎﹎﹎﹎﹎﹎S,S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:
semaphore:
=
(信号量初值)﹎﹎﹎﹎﹎﹎1,0,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;
begin
parbegin
妈:
begin
repeat
準備
﹎﹎P(S)﹎﹎
向盒内放桔子
﹎﹎V(S1)﹎﹎﹎
準備
﹎﹎﹎﹎﹎﹎﹎﹎
向盒内放苹果
﹎﹎V(S2)﹎﹎
untilfalse
end
儿:
begin
repeat
﹎﹎﹎P(S1)﹎﹎
拿盒中的桔子
﹎﹎﹎V(S)﹎﹎
吃桔子
untilfalse
end
女:
begin
repeat
﹎﹎P(S2)﹎﹎
拿盒中的苹果
﹎﹎V(S)﹎﹎﹎
吃苹果
untilfalse
end
parend
end
2.桌上有一个空盒,盒内只允许放一个水果。
爸爸争向盒内放苹果,妈妈争向盒内放桔子。
儿子等吃盒中的水果(苹果或桔子),若盒内已有水果,放者必须等待,若盒内没有水果,吃者必需等待。
试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现三个进程正确的并发执行。
var(信号量)﹎﹎﹎﹎S1,S2﹎﹎﹎﹎﹎﹎﹎﹎﹎:
semaphore:
=
(信号量初值)﹎﹎﹎﹎1,0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎;
begin
parbegin
爸:
begin
repeat
準備
﹎﹎P(S1)﹎﹎﹎﹎﹎﹎
向盒内放苹果
﹎﹎V(S2)﹎﹎﹎﹎﹎
untilfalse
end
妈:
begin
repeat
準備
﹎﹎﹎P(S1)﹎﹎﹎﹎﹎
向盒内放桔子
﹎﹎V(S2)﹎﹎﹎﹎
untilfalse
end
儿:
begin
repeat
﹎﹎﹎P(S2)﹎﹎﹎
拿盒中的水果(苹果或桔子)
﹎﹎﹎V(S1)﹎﹎﹎
吃水果(苹果或桔子)
untilfalse
end
parend
end
3.假定在一个处理机上执行以下五个作业:
作业号到达时间运行时间(分)
A03
B15
C32
D95
E125
画出采用SJF调度算法时调度图,并计算每个作业的周转时间和计算平均周转时间。
答:
SJF
(1)T=0作业A到达,调度作业A。
(2)T=3作业A完成,作业B、C已到达,C运行时间短调度作业C
(3)T=5作业 C完成,作业B已到达,调度作业B
(4)T=10作业B完成,作业D已到达,调度作业D
(5)T=15作业D完成,作业E已到达,调度作业E
01234567891011121314151617181920
A
C
B
D
E
进程
A
B
C
D
E
平均
到达时间Ta
0
1
3
9
12
运行时间TS
3
5
2
5
5
SJF
完成时间Tf
周转时间Tq
3
3
10
9
5
2
15
6
20
8
5.6
4.假定在一个处理机上执行以下五个作业:
作业号到达时间运行时间(分)
A07
B26
C39
D44
E66
写出采用HRN(响应比高者优先)调度算法时选择作业号的次序和选择作业的依据(各作业的响应比)。
答:
HRN
(1)T=0作业A到达,调度作业A。
(2)T=7作业B、C、D、E已到达,计算响应比:
RPb=1+(7-2)/6=11/6;RPc=1+(7-3)/9=13/9;
RPd=1+(7-4)/4=7/4;RPe=1+(7-6)/6=7/6;调度作业B
(3)T=13作业C、D、E已到达,计算响应比:
RPc=1+(13-3)/9=19/9;RPd=1+(13-4)/20=13/4;
RPe=1+(13-6)/6=13/6;调度作业D.
(4)T=17作业C、E已到达,计算响应比:
RPc=1+(17-3)/9=23/9;RPe=1+(17-6)/6=17/6;调度作业E
(5)T=23作业E已到达,调度作业C
(6)T=32作业C完成
5.设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。
在T0时刻系统状态如下表。
回答下问题:
该系统是否安全?
若安全,请给出一个安全序列。
(提示:
先要计算需求量Need和剩余资源数Available)
最大请求资源数 已分配资源数
ABC ABC
P1559 212
P2536 402
P34011 405
P4425 204
P5424 314
答:
a.A已分配资源数为(2+4+4+2+3)=15,B已分配资源数为(1+0+0+0+1)=2,C已分配资源数为(2+2+5+4+4)=17。
A剩余资源数为(17-15)=2,B剩余资源数为(5-2)=3,C剩余资源数为(20-17)=3。
进程
最大请求资源数
已分配资源数
还需资源数
可用资源数
序号
分配前
回收后
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
P1
5
5
9
2
1
2
3
4
7
7
4
11
9
5
13
3
P2
5
3
6
4
0
2
1
3
4
9
5
13
13
5
15
4
P3
4
0
11
4
0
5
0
0
6
13
5
15
17
5
20
5
P4
4
2
5
2
0
4
2
2
1
2
3
3
4
3
7
1
P5
4
2
4
3
1
4
1
1
0
4
3
7
7
4
11
2
T0时刻安全,安全序列如:
P4,P5,P1,P2,P3
6.设系统有4种类型的资源(A,B,C,D)和5个进程(P0,P1,P2,P3,P4)。
在T0时刻系统状态如下表。
若采用银行家算法,如在T0时刻是安全的,在T0时刻若进程P1请求资源(0,4,2,0),是否能实施资源分配?
为什么?
Allocation
Max
Available
A
B
C
D
A
B
C
D
A
B
C
D
P0
0
0
1
1
0
0
1
1
1
5
2
0
P1
1
0
0
0
1
7
5
0
P2
1
3
5
4
2
3
5
6
P3
0
6
3
2
0
6
5
2
P4
0
0
1
4
0
6
5
6
答:
在T0时刻若进程P1请求资源(0,4,2,0)
P1-Req(0,4,2,0)<=P1-NEED(0,7,5,0)
P1-Req(0,4,2,0)<=Avai(1,5,2,0)
假设把资源(0,4,2,0)分配给P1,得到新状态T1:
Allocation
Need
Available
No
分配前
回收后
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
P0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
P1
1
4
2
0
0
3
3
0
P2
1
3
5
4
1
0
0
2
P3
0
6
3
2
0
0
2
0
P4
0
0
1
4
0
6
4
2
剩余资源数(1,1,0,0)只能满足P0进程需要,无法满足其它任一进程需要,无法找到一个安全序列,进程P1请求资源(0,4,2,0)不能满足,进程P1要等待。
第二次(第3章)
应用题
1.在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面访问顺序为4,3,2,1,4,3,5,4,3,2,l,5,当分配给该作业的物理块数M为4时,试试写出页面访问的过程,并计算访问中所发生的缺页次数和缺页率?
解:
FIFO置换
算法
页面走向
物
理
块
缺页中断
用FIFO置换
算法产生缺页次数次
答:
1.解:
FIFO置换
算法
该算法把表中物理块的页号按调入内存先后次序排序,即物理块呈管道状,如产生缺页,调人内存的页号从管道上面压入,被置换的页号从管道下面挤出。
如访问页面在内存,管道内页号次序不变。
页面走向
4
3
2