操作系统课后习题答案Word格式文档下载.docx
《操作系统课后习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《操作系统课后习题答案Word格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。
process司机()
{
while(true)
{
P(s1);
启动车辆;
正常行车;
到站停车;
V(s2);
}
}
process售票员()
{
关车门;
V(s1);
售票;
P(s2);
开车门;
上下乘客;
}
}
2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。
请用信号量和P、V操作,写出能够正确执行的程序。
semaphoresp,sq,sr;
intbuf;
sp=1;
sq=0;
sr=0;
processP()
{
从磁带读入数据;
P(sp);
Buf=data;
V(sq);
processQ()
P(sq);
data=buf;
加工data;
buf=data;
V(sr);
processR()
while(true)
P(sr);
V(sp);
打印数据;
coend.
3.简述计数信号量的值与资源使用情况的关系。
当计数信号量大于0时,表示可用资源的数量;
当它的值小于0时,其绝对值表示等待使用该资源的进程个数.
1.假定某计算机系统有R1、R2两类可再用资源(其中R1有两个单位,R2有一个单位),它们被进程P1、P2所共享,且已知两个进程均以下列顺序使用两类资源:
→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→
试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。
①进程P1占有一个R1,一个R2,进程P2占有一个R1.
②进程P1占用一个R1,进程P2占有一个R1,一个R2
2.系统有同类资源m个,被n个进程共享,问:
当m>
n和m≤n时,每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁?
m≤n时,每个进程最多请求1个这类资源时不会死锁;
n时,如果m/n商为k,
余数为t:
若t为0,每个进程最多请求k个,若t不为0,每个进程最多请求k+1个,则系
统不会发生死锁。
3.设当前的系统状态如下,此时Available=(1,1,2).
进程
Max
Allocation
R1
R2
R3
P1
3
2
1
P2
6
5
P3
4
P4
(1)、计算各个进程还需要的资源数
(2)、系统是否处于安全状态?
为什么?
(3)、进程P2发出请求向量request2=(1,0,1),系统能把资源分配给它吗?
(4)、若在进程P2申请资源后,P1发出请求向量request1=(1,0,1),系统能把资源分配给它吗?
(5)、若在进程P1申请资源后,P3发出请求向量request3=(0,0,1),系统能把资源分配给它吗?
(1)
(2)系统处于安全状态,存在安全序列:
P2→P1→P3→P4.
(3)系统能把资源分配给它,存在安全序列:
request1=(1,0,1)<
need
available=(1,1,2)>
request2
假分配后allocation=
available=(1,1,2)-(1,0,1)=(0,1,1)
need=
(4)不能,因为资源不足.
(5)不能,因为这样做会让系统处于不安全状态.
1.有5个批处理作业A~E均已到达计算中心,其运行时间分别为2min、4min、6min、8min、10min。
若采用时间片轮转算法,时间片为2min,计算出平均作业周转时间。
作业
执行时间
等待时间
周转时间
A
B
8
12
C
14
20
D
18
26
E
10
30
2.若有如下表所示的4个作业进入系统,分别计算在FCFS、SJF、HRRF算法下平均周转时间和平均带权周转时间。
提交时间
估计运行时间/min
8:
00
120
50
9:
1FCFS(先来先服务法)
到达时间
运行时间
开始时间
完成时间
带权周转时间
120min
10:
50min
2.4
10min
11:
20min
90min
4.5
平均周转时间
=112.5min,平均带权周转时间
=4.975
2SJF(短作业优先法)
150min
70min
7
40min
=95min,平均带权周转时间
=3.25
3HRRF(高响应比优先法)
130min
2.06
=102.5min,平均带权周转时间
=3.775
3.多道批处理系统中有一台处理器和两台外部设备(I1和I2),用户存储空间为100MB。
已知系统的作业调度及进程调度采用可抢占的高优先级调度算法(优先数越大优先级别越高),主存采用不可移动的可变分区分配策略,设备分配遵循动态分配原则。
现有4个作业同时提交给系统,如下表所示。
求作业的平均周转时间。
作业名
优先数
运行时间及顺序/min
主存需求/MB
CPU:
1I1:
2I2:
3I1:
9
2I1:
3CPU:
60
4I1:
如下图
232
11
122
31
故有
周转时间/min
13
11
1.在动态分区存储管理下,按地址排列的主存空闲区为:
10KB,4KB,20KB,18KB,7KB,9KB,12KB,15KB。
对于下列连续存储区的请求:
(1)12KB,10KB,9KB;
(2)12KB,10KB,15KB,18KB。
试问:
使用最先适应算法、最佳适应算法、循环适应算法,哪个空闲区将被使用?
①最先适应算法:
3→1→4
②最佳适应算法:
7→1→6
③循环适应算法3→4→6
(2)
7→1→8→4
③循环适应算法:
3→4→8
2.一个32位计算机系统使用二级页表,虚地址被分为9位顶级页表、11位二级页表和页内偏移。
页面长度是多少?
虚地址空间共有多少个页面?
页面长度为4KB,虚地址空间共有
个页面
3.某计算机系统提供24位虚存空间,主存空间为218Byte,采用请求分页虚拟存储管理,页面尺寸为1KB。
假定应用程序产生虚拟地址11123456(八进制),而此页面分得的块号为100(八进制),说明此系统如何产生相应的物理地址并写出物理地址。
虚拟地址
其中前面为页号,而后十位为位移:
由于主存大小为218Byte,页面尺寸大小为1KB,故主存有256块.所以物理地址为
与位移
并接,得八进制物理地址
4.某分段管理采用如下段表:
段号
段长
内存起始地址
380
95
525
105
3300
660
860
1800
将虚地址(0,260)、(2,200)、(4,42)转换为物理地址。
(0,260)的物理地址为:
260+95=355
(2,200)的物理地址为:
200>
105,故越界
(4,42)的物理地址为:
1800+42=1842
5.一个有快表的页式虚拟存储系统,设主存访问周期为1ㅥs,内外存传送一个页面的平均时间为5ms。
如果快表的命中率为75%,缺页中断率为10%,忽略快表的访问时间,试求主存的有效存取时间。
有效存取时间T=1
75%+2
15%+(5000+2)
10%=501.25ㅥs
6.设程序大小为460个字,考虑如下访问序列:
55,20,108,180,79,310,170,255,246,433,458,369
(1)设页面大小为100个字,试给出访问序列页面走向。
(2)假设程序可用主存为200字,采用FIFO,LRU,OPT淘汰算法,求出缺页中断率。
(1)001103122443
①FIFO算法如下
页面走向
001103122443
缺页率为6
12=50%
②LRU算法如下
缺页率为7
58.3%
②OPT算法如下
缺页率为5
41.7%
1.若两个用户共享一个文件系统,用户甲使用文件A、B、C、D、E,用户乙要使用文件A、D、E、F。
已知用户甲的文件A与用户乙的文件A实际不是同一个文件,用户甲、乙的文件D和E是同一个文件。
试设计一个文件系统组织方案,使得甲乙能共享此文件系统而又不致造成混乱。
甲文件目录
甲
乙
乙文件目录
F
2.设有一个UNIX/LINUX文件,如果一个盘块大小为1KB,每个盘块号占用4Byte,那么,若进程欲访问偏移量263168Byte处的数据,需要经过几次间接寻址?
逻辑块号从0开始编号
263168
1024=257
故该数据的逻辑块号为257,偏移为0
1024
4=256
故一个盘块可存放256个索引项
unix/linu文件系统中,前10块为直接寻址,一次间接寻址256块,
257<
10+256
故需要一次间接寻址,就可读出该数据.
如果要求读入从文件首到263168Byte处的数据(包括这个数据),读出过程:
首先根据直接寻
址读出前10块;
读出一次间接索引指示的索引块1块;
将索引下标从0~247对应的数据块全部
读入。
即可。
共读盘块数10+1+248=259块
3.某文件系统采用索引文件结构,设文件索引表的每个表目占用3Byte,存放盘块的块号,盘块的大小为512Byte。
此文件系统采用直接、一次间接、二次间接、三次间接索引所能管理的最大磁盘空间是多少?
在该文件系统中
一个盘块可以存放512
170个索引项,512Byte=0.5KB
故直接寻址能管理的最大空间为:
170
0.5KB=85KB
一次间接:
170
0.5KB=14450KB
二次间接:
0.5KB=2456500KB
三次间接:
0.5KB=417605000KB
4.设某文件为链接文件,由5个逻辑记录组成,每个逻辑记录的大小与磁盘块大小相等,均为512Byte,并依次存放在50、121、75、80、63号磁盘块上。
如要访问文件的第1569逻辑字节处的信息,要访问哪一个磁盘块?
1569
152=3
33
该字节对应的逻辑块号为3(从0开始编号),位于该块偏移33处。
因此访问第80块
盘块。
如果要读入该字节,则需从链首开始,逐块读入,直到第80块。
所以总的读盘块次
数为4次。
1.磁盘有200个磁道,编号0~199。
现有请求队列:
8,18,27,129,110,186,78,147,41,10,64,12。
试用下面算法计算处理所有请求所移动的总柱面数。
假设磁头的当前位置在磁道100。
(1)FCFS
(2)SSTF(3)SCAN,磁头当前正在按升序方向移动
(4)电梯算法,磁头当前正在按升序方向移动。
(1)|100-8|+|18-8|+|27-18|+|129-27|+|110-129|+|186-110|+|78-186|+|147-78|+|41-147|+|10-47|+|64-10|+|12-64|=728
(2)|100-110|+|110-129|+|129-147|+|147-186|+|186-78|+|78-64|+|64-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=264
(3)|100-110|+|110-129|+|129-147|+|147-186|+|186-199|+|199-78|+|78-64|+|64-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=290
(4)|100-110|+|110-129|+|129-147|+|147-186|+|186-78|+|78-64|+|64-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=264
2.某磁盘共有200个柱面,每个柱面20个磁道,每个磁道有8个扇区,每个扇区为1024字节,每个扇区为一块。
如果驱动程序接到的访问请求是读出编号为606的块(首块编号0),计算此信息块的物理位置。
磁道从0开始编号,磁头从0开始编号,扇区从0开始编号。
每个柱面的块数:
8=160块
606
160=3
26。
则柱面号为3
每个柱面中每个磁头对应8块,126
8=15
6,则磁头号为15,扇区号为6.
因此606块对应物理位置(柱面号,磁头号,扇区号)为(3,15,6).
3.某操作系统采用单缓冲技术传送磁盘数据。
设从磁盘传送一块数据到缓冲区的时间为T1,将缓冲区的一块数据传送到用户区的时间为T2,CPU处理这一块数据的时间为T3。
系统处理大量数据时,一块数据的处理时间是多少?
MAX(T1,T3)+T2
4.简述SPOOLING系统工作原理。
SPOOLING技术是一种外围设备联机操作技术,它在输入和输出直接增加了输入井和输出井的排队转储环节,提高了设备的I/O速度.