操作系统Word文件下载.docx
《操作系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《操作系统Word文件下载.docx(16页珍藏版)》请在冰点文库上搜索。
}
son()
{
P(So);
从盘中取出桔子;
V(S);
吃桔子;
}
daughter()
{
P(Sa);
从盘中取出苹果;
V(S);
吃苹果;
2、设公共汽车上,司机和售票员的活动分别为:
司机的活动为启动车辆,正常行车,到站停车;
售票员的活动为关车门,售票,开车门。
试问:
<
1>
.在汽车不断地到站、停车、行驶过程中,司机和售票员的活动是同步关系还是互斥关系?
2>
.用信号量和P、V操作实现他们间的协调操作。
•售票员操作的规则是只有司机停车后,售票员才能开门让乘客上下车;
•司机操作的规则是只有售票员关门后,司机才能启动开始行驶汽车。
•根据同步规则以及操作流程确定信号量的个数是2个,S1和S2。
•S1的含义是否关门;
S1=0;
•S2的含义是否停车。
S2=1。
司机操作中,是否关门?
没关则等待,这是一个P操作,P(S1);
司机操作中,设立停车标志,这是一个V操作,V(S2);
售票员操作中,是否停车?
没停则等待,这是一个P操作,P(S2)
售票员操作中,设立关门标志,这是一个V操作,V(S1)。
3.某高校有m个网球场,有n个学生预约打网球,有k个裁判。
每两个学生组成一队,占用一个网球场练习,并安排一个裁判进行评分(没有安排时,裁判在休息室休息)。
请用P、V操作正确完成网球场的分配和学生练习过程。
•intcount;
//初值0,记录学生人数
semophoremutex;
//初值1,用于对count的互斥
semophorerelease1;
//初值0
semophorerelease2;
semophoreplayground;
//初值m(网球场)
semophorereferee;
semophorestudent;
//初值0
•学生:
P(mutex);
count++;
if(count%2==1)
{
V(mutex);
P(release1);
//等待搭档
P(playground);
P(referee);
V(student);
else
V(release1);
P(release2);
//等待裁判释放自己
裁判:
while(true)
V(referee);
P(student);
V(release2);
比赛完;
V(playground);
4.有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10,6,2,4,8min。
其优先级分别为3,5,2,1和4,这里5为最高优先级。
对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。
–先来先服务(按A,B,C,D,E)算法。
–优先级调度算法。
–时间片轮转算法。
采用先来先服务(FCFS)调度算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示:
执行次序
运行时间
优先数
等待时间
周转时间
A
10
3
B
6
5
16
C
2
18
D
4
1
22
E
8
30
执行次序运行时间优先数等待时间周转时间根据表中的计算结果,5个进程的平均周转时间T为:
T=(10+16+18+22+30)/5=19.2min
采用最高优先级调度(HPF)算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示:
14
24
26
27
它们的平均周转时间为:
T=(6+14+24+26+27)/5=19.4min
如果系统采用时间片轮转(RR)算法,令时间片为2分钟,5个任务轮流执行的情况为:
第1轮:
(A,B,C,D,E)
第2轮:
(A,B,D,E)
第3轮:
(A,B,E)
第4轮:
(A,E)
第5轮:
(A)
显然,5个进程的周转时间为:
T1=30min、T2=22min、T3=6min、T4=16min、T5=28min。
它们的平均周转时间T为:
T=(30+22+6+16+28)/5=20.4min
5.有三个作业A(到达时间8:
50,执行时间1.5小时)、B(到达时间9:
00,执行时间0.4小时)、C(到达时间9:
30,执行时间1小时)。
当作业全部到达后,单道批处理系统按照响应比高者优先算法进行调度,则作业被选中的次序是()。
A.(ABC)B.(BAC)
C.(BCA)D.(CBA)
E.(CAB)F.(ACB)
进程
到达时间
运行长度
开始时间
结束时间
8:
50
1.5
9:
11:
00
0.4
12:
当作业全部到达后,也就是9:
30,系统开始调度。
此刻各作业的等待时间是,A为40分钟(0.67小时)、B为0.5小时、C为0小时。
其响应比分别为:
A=1+0.67/1.5=1.4
B=1+0.5/0.4=1.25
C=1+0/1=1
系统首先选A运行,至11:
00运行结束。
各作业的等待时间是,B为2小时,C为1.5小时。
其响应比分别修改为:
B=1+2/0.4=6
C=1+1.5/1=2.5
系统再选B运行,至11:
24运行结束。
最后选择C运行至12:
24结束。
因此,本题的正确答案应当是A
6.设某进程访问内存的页面走向序列如下:
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
则在局部置换的前提下,分别求当该进程分得的页面数为3,4时,下列置换算法的缺页数:
①LRU②FIFO③Optimal
解:
首先采用FIFO,当m=3时,缺页次数=9;
m=4时,缺页次数=10。
采用LRU算法,当m=3时,缺页次数=10;
m=4时,缺页次数=8。
结果说明:
FIFO有Belady奇异现象,即不满足驻留集增大,缺页次数一定减小的规律;
另在m=3时,LRU的缺页次数比FIFO要多,所以LRU算法并不总优于FIFO,还要看当前访问串的特点。
7.某段式存储管理系统中采用如下段表:
•
•试回答:
(1)给出段号和段内地址,完成段式管理中的地址变换过程。
(2)计算[0,430],[1,10],[2,500],[3,400]的主存地址,其中方扩号内的第一个元素为段号,第二个元素为段内地址
•
(2)参考答案:
• [0,430]219+430=649
• [1,10]3300+10=3310
• [2,500]非法地址访问,自陷到操作系统
• [3,400]1237+400=1637
8.设某进程的程序正文段由A,B,C,D,E和F等6个程序段组成。
它们之间的调用关系如图5.13(a)所示,程序段A调用程序段B和C,程序段B又调用程序段F,程序段C调用程序段D和E。
该进程正文段所要求的内存空间是:
A(20K)+B(50K)+F(30K)+C(30K)+D(20K)+E(40K)=190K
采用了覆盖技术所需内存空间是:
A(20K)+B(50K)+E(40K)=110K
可见采用覆盖技术,内存空间得到了节省
9.有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、10、5块,试将虚地址7145,3412转换成内存地址。
10.若在一分页存储管理系统中,某作业的页表如下所示。
已知页面大小为1024字节,试将逻辑地址1011,2148,3000,5012转化为相应的物理地址(注:
此处块号即为页面号)。
页号
块号
本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,内存地址为M,页面大小为L,则
P=int(A/L)
W=AmodL
对于逻辑地址1011
P=int(1011/1024)=0W=1011mod1024=1011
A=1101
查页表第0页在第2块,所以物理地址为M=1024*2+1101=3059。
对于逻辑地址为2148
P=2148/1024=2
W=2148mod1024=100
A=2148=(2,100)
查页表第2页在第1块,所以物理地址为M=1024*1+100=1124。
对于逻辑地址为3000
P=3000/1024=2
W=3000mod1024=952
A=3000=(2,952)
查页表第2页在第1块,所以物理地址为M=1024*1+952=1976
对于逻辑地址5012
P=5012/1024=4
W=5012mod1024=916
因页号超过页表长度,该逻辑地址非法。
11.若某进程分得4个内存块,现访问串有1、2、3、4、5、3、4、1、6、7、8、7、8、9、7、8、9、5、4、5、4、2,解答如下问题:
(1).求在FIFO算法下的页面缺页中断次数;
(2).求在LRU算法下的页面缺页中断数。
在FIFO算法
页面号
√
7
9
B1
B2
B3
B4
LRU算法
在OPT算法
页
面
号
12.设进程P共有8页,且已在内存中分配有3个页面,程序访问内存的顺序(访问串)为7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1。
分配三个页面,缺页中断12次
分配四个页面,缺页中断9次
13.某段式存储管理系统中,有一作业的段表(SMT)如下表所示,求逻辑地址[0,65],[1,55],[2,90],[3,20]对应的主存地址(按十进制)。
(其中方括号中的第一个元素为段号,第二个元素为段内地址)
段号
段长(容量)
主存起始地址
状态
200
600
850
100
1000
150
—
解逻辑地址[0,65]:
对应的主存地址为600+65=665。
逻辑地址[1,55]:
因段内地址超过段长,所以产生段地址越界中断。
逻辑地址[2,90]:
对应的主存地址为1000+90=1090。
逻辑地址[3,20]:
因为状态位为0,即该段在辅存中,所以产生缺段中断。
14.假定系统中有五个进程{P0,P1,P2,P3,P4}和三类资源{A,B,C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图3-15所示。
Max
ABC
Allocation
Need
Available
p0
753
010
743
332
(230)
p1
322
200
(302)
122
(020)
p2
902
302
600
p3
222
211
011
p4
433
002
431
(1)T0时刻的安全性:
Work
Need
Alloc
Work+alloc
Finish
122
532
true
745
1047
1057
230
020
755