操作系统复习完美版.docx
《操作系统复习完美版.docx》由会员分享,可在线阅读,更多相关《操作系统复习完美版.docx(31页珍藏版)》请在冰豆网上搜索。
![操作系统复习完美版.docx](https://file1.bdocx.com/fileroot1/2023-1/5/6b507fe0-08f1-48d5-9bde-a697a32a01ed/6b507fe0-08f1-48d5-9bde-a697a32a01ed1.gif)
操作系统复习完美版
操作系统复习材料
作者:
孙恩强
操作系统复习
1、设在内存中有三道程序A、B、C,并按A、B、C的优先次序执行,其内部计算和I/O操作时间如下表所示(单位:
ms)。
操作
计算
I/O
计算
A
30
40
10
B
60
30
10
C
20
40
20
解:
若采用单道方式运行这三道程序,总的运行时间为:
30+40+10+60+30+10+10+20+40+20=260ms
若采用多道方式运行(一个I/O处理机)这三道程序,总的运行时间为:
30+40+10+20+30+40+20=190ms
其运行时间关系图如下:
2、桌上有个一次只能放一个水果的盘子,父亲专向盘中放苹果母亲专放橘子,女儿专吃苹果儿子专吃橘子。
试用p、
v操作写出他们能正确同步的过程。
解:
在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否
有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。
同步描述如下:
intS=1;
intSa=0;
intSo=0;
main()
{
cobegin
father();/*父亲进程*/
son();/*儿子进程*/
daughter();/*女儿进程*/
coend
}
father()
{
while
(1)
{
P(S);
将水果放入盘中;
if(放入的是桔子)V(So);
elseV(Sa);
}
}
son()
{
while
(1)
{
P(So);
从盘中取出桔子;
V(S);
吃桔子;
}
}
daughter()
{
while
(1)
{
P(Sa);
从盘中取出苹果;
V(S);
吃苹果;
}
}
3、桌子上有一只盘子,最多可容纳两个水果,每次只能放入或取出一个水果。
爸爸专向盘子中放苹果(apple),
妈妈专向盘子中N放橘子(orange),儿子专等吃盘子中的橘子,女儿专等吃盘子中的苹果。
请用PV操作来实现爸
爸、妈妈、儿子、女儿之间的同步与互斥关系。
(要求相应图形操作配合文字提示)。
1
操作系统复习材料
解:
信号量初值S1=0,S2=0,S=1
作者:
孙恩强
爸爸进程
妈妈进程
女儿进程
儿子进程
repeatrepeatrepeatrepeat
P(s)P(s)P(s1)P(s2)
放苹果
放桔子
取苹果
取桔子
V(s1)V(s2)V(s)V(s)
untilfalseuntilfalse
untilfalse
untilfalse
4、设有P1,P2,P3进程共享某一文件F,P1对F只读不写,P2对F只写不读,P3对F先读后写。
当一个进程写F
时,其他进程对F不能进行读写,但多个进程同时读F是允许的。
试用P、V实现P1,P2,P3的同步与互斥。
解:
P1:
begin
repeat
P(rmutex);
count:
=count+1;
ifcount=1thenP(mutex);
V(rmutex);
读文件F;
P(rmutex);
count:
=count–1;
ifcount=0thenV(wmutex);
V(rmutex);
untilfalse
end;
repeat
P(rmutex);
count:
=count+1;
ifcount=1thenP(wmutex);
V(rmutex);
读文件F;
P(rmutex);
count:
=count–1;
ifcount=0thenV(wmutex);
V(rmutex);
P(wmutex);
写文件F;
V(wmutex);
untilfalse
end;
P2:
begin
repeat
P(wmutex);
写文件F;
V(wmutex);
untilfalse
end;
P3:
begin
5、在一个单道批处理系统中,一组作业的提交时刻和运行时间作业如下图所示:
试计算以下三种作业调度算法的平均周转时间和平均带权周转时间
(1)先来先服务
(2)短作业优先(3)响应比高者优先
解
(1)先来先服务平均周转时间=(1.0+0.67+0.7+0.63)/4=0.75
平均带权周转时间=(1.0+1.34+3.5+6.3)/4=3.035
2
作业
提交时刻
运行时间
1
8:
00
1.0
2
8:
50
0.50
3
9:
00
0.20
4
9:
10
0.10
操作系统复习材料
(2)短作业优先
作业执行顺序:
1342
作者:
孙恩强
平均周转时间=(1.0+0.94+0.2+0.13)/4=0.5675
平均带权周转时间=(1.0+1.94+1.0+1.3)=1.31
(3)响应比高者优先
同
(1)
基本概念:
作业周转时间(Ti)=完成时间(Tei)-提交时间(Tsi)
作业平均周转时间(T)=周转时间/作业个数
作业带权周转时间(Wi)=周转时间/运行时间
响应比=(等待时间+运行时间)/运行时间
6、有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢
占式调度算法,作业序列如表所示(表中所列作业优先数即为进程优先数,数值越小优先级越高)。
(15分)
①列出所有作业进入内存时间及结束时间。
②计算平均周转时间。
作业的执行时间
解:
平均周转时间为70分钟。
3
作业
提交时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
8:
00
1.0
8:
00
9:
00
1.0
1.0
2
8:
50
0.50
9:
18
9:
48
0.97
1.94
3
9:
00
0.20
9:
00
9:
12
0.2
1.0
4
9:
10
0.10
9:
12
9:
18
0.13
1.3
作业
提交时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
8:
00
1.0
8:
00
9:
00
1.0
1.0
2
8:
50
0.50
9:
00
9:
30
0.67
1.34
3
9:
00
0.20
9:
30
9:
42
0.7
3.5
4
9:
10
0.10
9:
42
9:
48
0.63
6.3
作业名
到达时间
估计运行时间
优先数
A
10:
00
40分
5
B
10:
20
30分
3
C
10:
30
50分
4
D
10:
50
20分
6
作业
进入内存T
结束T
周转T
A
10:
00
11:
10
70
B
10:
20
10:
50
30
C
10:
30
12:
00
90
D
10:
50
12:
20
90
操作系统复习材料
作者:
孙恩强
7、假定系统中有五个进程{P1,P2,P3,P4,P5}和三种类型的资源(A,B,C),A的总数为17,B的总数为5,C的总
数为20。
在t0时刻如下:
问:
1)当前系统是否安全?
如果安全,请给出一个安全序列,如果不安全,说明其原因。
2)t0时刻,若P2(0,3,4)
请求资源,问能否实施分配。
(3)若P4(2,0,1)请求,能否分配?
解:
(1)t0时刻是安全的,存在安全序列{P5,P4,P3,P2,P1}
(2)P2提出的请求:
Request2(0,3,4)≤Need2(1,3,4)
Request2(0,3,4)>Available(2,3,3)
所以不能分配。
(3)同
(1)存在安全序列{P4,P5,P3,P2,P1}能满足分配。
8、已知页面走向为1,2,1,3,1,2,4,2,1,3,4。
且开始执行时主存没有页面。
若只给该作业分配2个物理
块,当采用FIFO页面淘汰算法时缺页率为多少?
假定现有一种淘汰算法,该算法淘汰页面的策略为:
当需要淘汰
页面时,把刚使用过的页面作为淘汰对象,试问就相同的页面走向,缺页率又为多少?
解:
根据所给页面走向,采用FIFO淘汰算法的页面置换情况如下:
从上述页面置换图可以看出:
页面引用次数为11次,缺页次数为9次,所以缺页率为9/11。
若采用后一种页面淘汰策略,其页面置换情况如下:
从上述页面置换图可以看出:
页面引用次数为11次,缺页次数为8次,所以缺页中断率为8/11。
9、假定一个磁盘有200个柱面,编号为0一199,在完成了磁道125外的请求后,当前正在磁道143处为一个请求
服务。
若请求队列的先后顺序为86,147,91,177,94,150,102,175,130试分别采用FCFS(先来先服务),
SSTF(最短寻道时间优先)和SCAN(扫描)算法完成上述请求,写出磁头移动的顺序,并计算存取臂移动总量。
解:
首先根据题意可知:
磁头正由低磁道号向高磁道号方向移动。
fcfs:
顺序是:
143--86--147--91--177--94--150--102--175--130
(143-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=565
sstf:
顺序是:
143--147--150--130--102--94--91--86--175--177
(147-143)+(150-147)+(150-130)+(130-102)+(102-94)+(94-91)+(91-86)+(175-86)+(177-175)=162
4
资源情况
Work
Need
Allocation
W+A
Finish
进程
A
B
C
A
B
C
A
B
C
A
B
C
P5
2
3
3
1
1
0
3
1
4
5
4
7
True
P4
5
4
7
2
2
1
2
0
4
7
4
11
True
P3
7
4
11
0
0
6
4
0
5
11
4
16
True
P2
11
4
16
1
3
4
4
0
2
15
4
18
True
P1
15
4
18
3
4
7
2
1
2
17
5
20
True
资源情况
Allocation
Max
Need
Available
进程
A
B
C
A
B
C
A
B
C
A
B
C
P1
2
1
2
5
5
9
3
4
7
2
3
3
P2
4
0
2
5
3
6
1
3
4
P3
4
0
5
4
0
11
0
0
6
P4
2
0
4
4
2
5
2
2
1
P5
3
1
4
4
2
4
1
1
0
((
操作系统复习材料
作者:
孙恩强
scan:
顺序是:
先移动到最大柱面号(199)再移动到最小柱面号(0)再移动到130
(199-143)+(199-0)+(130-0)=385
10、有一计算机系统利用图所示的位示图来管理空闲盘块。
盘块的大小为1KB,现要为某文件分配两个盘块,试说
明盘块的具体分配过程。
若要释放磁盘的第300块应如何处理?
解:
分配量个盘块的过程如下:
⑴顺序扫描位示图,从中找到第一个值为0的二进制位,得到其号i=3,列号j=3。
⑵将所找到的二进制位转换成与之对应的盘块号。
盘块号计算公式为:
b=(3-1)*16+3=35;
⑶修改位示图,令map[3,3]=1,并将该盘块分配出去。
类似地,可使用相同的方法找到第二个值为0的二进制位,
得到行号i=4,列号j=7,其对应的盘块号为55,令map[i,j]=1,并将该盘块分配出去。
11、在一个分页存储系统中,页面大小为4kB,系统中的地址寄存器占24位,给定页表如下所示,现给定一逻辑地
址,页号为3,页内地址为100,试计算相应的物理地址,并画图说明地址变换过程。
(本题数值采用10进制)
页表
解:
相应的物理地址为:
4096×7+100=28772
地址变换过程如下图:
控制寄存器
页表长度页表地址
23
3
12
11
100
0
有效地址
页表
7
100
12、某操作系统采用可变分区分配存储管理方法,用户区为512K,且始址为0,用空闲分区管理空闲分区。
若分配
时采用分配空闲区低地址部分的方案,且初始时用户的512K空间空闲,对述申请序列:
申请300K,申请100K,释放300K,申请150K,申请30K,申请40K,申请60K,释放30K
回答:
(1)采用首次适应算法,空闲分区中有哪些空块(给出始址、大小)?
(2)采用最佳适应算法,空闲分区中有哪些空块(给出始址、大小)?
(3)如再申请100K,针对
(1)和
(2)各有什么结果?
5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
页号
块号
0
3
1
4
2
9
3
7
页号
块号
0
3
1
4
2
9
3
7
操作系统复习材料
作者:
孙恩强
解
:
----
----
----
0k
150k
180k
220k
280k
0k
150k
210k
300k
400k
----
----
----
300k
430k
----
400k
512k
470k
512k
----
(3)对
(1)再申请100kb则在第三块空白块继续申请;对
(2)再申请100kb则超出空白块的大小需要等待内存
释放空间
13、在一分页存储管理系统中,逻辑地址长度为16位,页面大小为2048B,现有一逻辑地址为0A5CH、2F6AH,且
第0、1、2、3页依次存放在物理块5、10、4、7中,问相应的物理地址为多少?
解:
0A5C
15
1110
0
0000101001011100
查表
1101010
页号P
页内位移
0101001001011100
物理地址:
525CH
14、在一个段式存储管理系统中,其段表为:
试求下述逻辑地址对应的物理地址是什么?
解:
第一个:
210+430=640
第二个:
2350+10=2360
第三个:
无效
第四个:
1350+400=1750
第五个:
无效
第六个:
无效
15、在一请求分页存储管理系统中,一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给作业
的物理块数分别为3、4时,试计算采用下述页面淘汰算法时的缺页率?
(1)最佳置换淘汰算法
(2)先进先出淘汰算法(3)最近最久未使用淘汰算法
6
段号
段基址
段长
0
210
500
1
2350
20
2
100
90
3
1350
590
4
1938
95
段号
段内位移
0
430
1
10
2
500
3
400
4
112
5
32
基址
大小
210k
90k
400k
30k
470k
42k
基址
大小
150k
50k
280k
20k
400k
112k
操作系统复习材料
作者:
孙恩强
16、在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、
2、4、5、3、2、5、2。
试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数。
解:
FIFO算法:
LRU算法:
17、假定某页式管理系统,主存为64KB,分成16块,块号为时0,1,2,3,4,…,15。
设某作业有4页,其页号为0,1,2,3,
被分别装入主存的2,4,1,6块。
(1)该作业的总长度是多少?
(按十进制)
(2)写出该作业每一页在主存中的起始地址。
(3)若给出逻辑地址[0,100]、[1,50]、[2,0]、[3、60],计算出相应的内存地址。
(方括号内第一个元素为页
号,第二个元素为页内位移)
解:
(1)每块的大小为64KB/16=4KB
因为块的大小与页的大小相等,所以每页为4KB,
因此作业的总长度4KB×4=16KB。
(2)页表为:
所以,该作业各页在内存的起始地址为:
第0页起始地址为:
4K×2=8K
第1页起始地址为:
4K×4=16K
第2页起始地址为:
4K×1=4K
第3页起始地址为:
4K×6=24K
(3)逻辑地址[0,100]的内存地址为:
4K×2+100=8192+100=8292
逻辑地址[1,50]的内存地址为:
4K×4+50=16384+50=16434
逻辑地址[2,0]的内存地址为:
4K×1+0=4096
逻辑地址[3,60]的内存地址为:
4K×6+60=24K+60=24636
18、在某个文件系统中,每个盘块为512B,FCB为64B,其中文件名占8B,如果采用类似UNIX系统的方法,将文
件名与文件其他描述信息分开存放,在文件目录项中只包括文件名和索引节点的编号,索引节点编号占2B,对一个
存放在磁盘上的1024个目录项的目录,试比较引入索引节点前后,为找到其中一个文件的FCB,平均启动磁盘的次
数。
解:
256×64
512
32+1
2
=16.5
256×10
512
(5个盘块)
5+1
2
+1=4
(4个盘块)
7
页面走向
2
3
2
1
5
2
4
5
3
2
5
2
物理块1
物理块2
物理块3
是否缺页
页面走向
2
3
2
1
5
2
4
5
3
2
5
2
物理块1
物理块2
物理块3
是否缺页
页
号
块
号
0
2
1
4
2
1
3
6
=目录项所占的盘块数=32
=5
操作系统复习材料
作者:
孙恩强
19、某系统磁盘有500块,块号0-499,
(1)若用位示图管理这个空间字长为32B时位示图占几个字?
(2)第i
字第j位对应的块号是多少?
(i、j均为从0开始)
*若:
块号1-500,i、j均从1开始,结果如何?
20、I/O软件分为四个层次,请说明以下工作是在哪层完成的?
1、向设备寄存器写命令→驱动层
2、查设备用户是否有权使用设备→无关层
3、将二进制整数转化成ASCKⅡ码以使用打印→用户层
21、分页地址变换图
22、什么是通道?
画出通道方式下CPU于设备的流程图:
设备
通道收到CPU发来的I/O启动指令
启动设备
送数据入内存
CPU
发启动I/O指令
当前进程等待
否
结束
是
I/O
收到中断信号
被调度的进程等待
转中断处理
发送中断
8
唤醒阻塞进程
操作系统复习材料
23、缺页中断处理流程图:
按虚拟地址
查快表
该页在快表中块表
中有登记吗?
查页表
该页在内存?
形成物理地址
形成物理地址
继续执行命令
作者:
孙恩强
发缺页中断
保护现场
内存有
空闲块
是
装入所需的页
否
将该页登记入快表
选择调出的页
否
是
该页被修改过么?
调整页表和内存分块表
将该页写回外存相应位置
恢复现场
重启被中断的命令
9
操作系统复习材料
作者:
孙恩强
24、有一个虚拟存储器,它所提供的作业空间最大可达4096个页面,每一页是2048字节,已知主存容量为220位,
块表用按地址访问的联想储存器构成,行数为32,块表的地址是经过散列技术形成的。
1)请给出逻辑地址和物理
地址的示意图
(2)画出经过块表的地址变换示意图。
解:
(1)逻辑地址:
2211100
页号
页内位移
物