操作系统相关题目附上答案.docx
《操作系统相关题目附上答案.docx》由会员分享,可在线阅读,更多相关《操作系统相关题目附上答案.docx(12页珍藏版)》请在冰豆网上搜索。
操作系统相关题目附上答案
一.选择题
1.操作系统是对____进行管理的软件。
()
A.软件B.硬件C.计算机资源D.应用程序
2.在操作系统中,并发性是指若干事件发生。
()
A.在同一时刻B.一定在不同时刻
C.某一时间间隔内D.依次在不同时间间隔内
3.操作系统的不确定性是指。
()
A.程序运行结果的不确定性B.程序运行次序的不确定性
C.程序多次运行时间的不确定性D.B和C
4.以下不是程序在并发系统内执行的特点()
A.程序执行的间断性B.相互通信的可能性
C.产生死锁的必然性D.资源分配的动态性
5.在操作系统中,负责对进程的调度()
A.处理器管理B.作业管理
C.高级调度管理D.存储和设备管理
6.以下不属于衡量操作系统性能指标的是。
()
A.作业的大小B.资源利用率
C.吞吐量D.周转时间
7.在单处理器系统中,可并行的是。
()
I.进程与进程II.处理器与设备III.处理器与通道IV.设备与设备
A.I,II和IIIB.I,II和IVC.I,III和IVD.II,III和IV
8.一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下:
P1:
计算60ms,I/O80ms,计算20ms
P2:
计算120ms,I/O40ms,计算40ms
若不考虑调度和切换时间,则完成两个作业需要的时间最少是。
()
A.240msB.260msC.340msD.360ms
9.下列选项中,在用户态执行的是。
()
A.命令解释程序B.缺页处理程序
C.进程调度程序D.时钟中断处理程序
10.下列选项中,不可能在用户态发生的事件是。
()
A.系统调用B.外部中断C.进程切换D.缺页
11.下列选项中,操作系统提供给应用程序的接口是。
()
A.系统调用B.中断C.库函数D.原语
12.并发进程指的是()
A.可并行执行的进程B.可同一时刻执行的进程
C.可同时执行的进程D.不可中断的进程
13.当一个进程处于这样的状态时,,称为阻塞状态。
()
A.它正等着输入一批数据B.它正等着进程调度
C.它正在等着分给它一个时间片D.它正等着进入内存
14.下列选项中,降低进程优先级的合理时机是。
()
A.进程的时间片用完B.进程刚完成I/O,进入就绪队列
C.进程长期处于就绪队列中D.进程从就绪状态转为运行态
15.若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是。
()
I.文件的数据不在内存中,则该进程进入睡眠等待状态
II.请求read系统调用会导致CPU从用户态切换到核心态
III.read系统调用的参数应包含文件的名称
A.仅I,IIB.仅I,IIIC.仅II,IIID.I,II和III
16.下列选项中,导致创建新进程的操作是。
()
I.用户登录成功II.设备分配III.启动程序执行
A.仅I和IIB.仅II和IIIC.仅I和IIID.I,II,III
17.下列关于进程和线程的叙述中,正确的是。
()
A.不管系统是否支持线程,进程都是资源分配的基本单位
B.线程是资源分配的基本单位,进程是调度的基本单位
C.系统级线程和用户级线程的切换都需要内核的支持
D.同一进程中的各个线程拥有各自不同的地址空间
18.在支持多线程的系统中,进程P创建的若干线程不能共享的是。
()
A.进程P的代码段B.进程P中打开的文件
C.进程P的全局变量D.进程P中某线程的栈指针
二.计算题
1.有两个程序A和B,A程序执行时所做的工作按次序需要的时间为:
CPU计10s,设备1计5s,CPU计5s,设备2计10s,CPU计10s。
B程序执行时所作的工作按次序需要的时间为:
设备1计10s,CPU计10s,设备2计5s,CPU计5s,设备2计10s。
问在单道方式下和多道并发环境下执行A,B两个程序,CPU的利用率各为多少?
(注CPU的利用率公式为程序占用CPU的总时间/CPU的运行总时间)
答案
1-5CCDCA
6-10ADBAC
11-15ACAAA
16-18CAD
计算题:
在单道方式下,两个程序占用CPU的总时间为40s运行总时间为80s,,所以CPU的利用率=40/80=50%.
多道方式下,运行总时间为45S,CPU的利用率为40/45=89%
===============================================================================
一、单项选择题
1.死锁产生的原因之一是______。
A.系统中没有采用SPOOLing技术B.使用的P、V操作过多
C.有共享资源存在D.资源分配不当
2.某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。
该系统可能会发生死锁的K的最小值是______。
A.2B.3C.4D.5
★3.某时刻进程的资源使用情况如表2.20所示,此时的安全序列是______。
表2.20某时刻进程的资源使用情况表
进程
已经分配资源
尚需资源
可用资源
R1R2R3
R1R2R3
R1R2R3
P1
P2
P3
P4
200
120
011
001
2.01
3.32
131
200
021
A.P1,P2,P3,P4B.P1,P3,P2,P4C.P1,P4,P3,P2D.不存在
4.系统采用分区存储管理时,才采用______让多用户进程轮流进入主存储器执行。
A.存储技术B.交换技术C.覆盖技术D.虚拟存储技术
二、综合应用题
★1.有5个批处理作业A、B、C、D、E,几乎同时到达计算机系统,其估计运算时间分别为10,、6、2、4、8(单位为分钟),优先级别为3、5、2、1、4,其中5为最高优先级。
假设它都是纯计算型作业,系统开销时间忽略不计。
若系统采用非剥夺式使用CPU,对于以下调度算法,计算平均周转时间:
(1)优先级调度。
(2)先来先服务(按A、B、C、D、E顺序)。
(3)短作业优先。
2.设系统中仅有一类数量为M的独占型资源,系统中N个进程竞争该类资源,其中各个进程对该类资源的最大需求为W,当M、N、W分别去下列值时,试判断哪些情况会发生死锁,为什么?
(1)M=2,N=2,W=1
(2)M=3,N=2,W=2
(3)M=3,N=2,W=3
(4)M=5,N=3,W=2
(5)M=6,N=3,W=3
3.对于如表3.1所示的段表,计算逻辑地址(0,430)、(2,88)、(4,112)所对应的物理地址。
表3.1一个段表
段号
段长
段起始地址
0
600
256
1
128
2300
2
100
112
3
580
1362
4
96
1952
★4.考虑下述页面走向:
1、2、3、4、2、1、5、6、2、1、2、3、7、6、3、2、1、2、3、6
当内存块数量分别为3时,试问FIFO、LRU这两种置换算法的缺页次数各是多少?
答案
一、单项选择题
1.D
2.C当每个都获得了2台打印机而且系统中剩余打印机不少于1台时,系统不会发生死锁,即8-2K1,k3.5,去整为4。
提示:
有银行家算法可以推导出,要使系统安全,对于系统中有m个资源,有n个并发进程共享使用时,每个进程可以提出的最大资源请求数量为x,则n(x-1)m,即
X=1当mn
X=(m-1)/n+1当m>n
3.D选项A~C的安全性检测表分别如表2.21~表2.23所示。
表2.21选项A的安全性检测表
进程
Work
Need
Allocation
Work+Allocation
Finish
021
221
001
132
131
200
200
120
011
001
221
True
False
表2.22选项B的安全性检测表
进程
Work
Need
Allocation
Work+Allocation
Finish
021
221
001
131
132
200
200
120
011
001
221
True
False
表2.23选项C的安全性检测表
进程
Work
Need
Allocation
Work+Allocation
Finish
021
221
222
001
200
131
132
200
001
011
120
221
222
True
True
False
4.B交换和覆盖的区别是,交换技术主要是在多个进程或作业之间进行,而覆盖主要在同一个进程或作业中进行。
二、综合应用题
1.解:
(1)采用优先级调度算法的结果如表2.11所示,根据优先级得到作业的执行顺序为B、E、A、C、D。
表2.11优先级调度算法的结果
作业
运行时间(分钟)
等待时间(分钟)
周转时间(分钟)
带权周转时间
B
6
0
6
6/6=1
E
8
6
14
14/8=1.75
A
10
14
24
24/10=2.4
C
2
24
26
26/2=13
D
4
26
30
30/4=7.5
作业平均周转时间T=(6+14+24+26+30)/5=20(分钟)
作业平均带权周转时间W=(1+1.75+2.4+13+7.5)/5=5.13
(2)采用先来先服务(按A、B、C、D、E顺序)调度算法的结果如表2.12所示。
作业
运行时间(分钟)
等待时间(分钟)
周转时间(分钟)
带权周转时间
A
10
0
10
10/10=1
B
6
10
16
16/6=2.66
C
2
16
18
18/2
D
4
18
22
22/4=5.5
E
8
22
30
30/8=3.75
作业平均周转时间T=(10+16+22+30)/5=19.2(分钟)
作业平均带权周转时间W=(1+2.66+9+5.5+3.75)/5=4.38
(3)采用短作业优先调度算法的结果如表:
2.13所示。
根据作业的运行时间得到执行顺序为C、D、B、E、A。
作业
运行时间(分钟)
等待时间(分钟)
周转时间(分钟)
带权周转时间
C
2
0
2
2/2=1
D
4
2
6
6/4=1.5
B
6
6
12
12/6=2
E
8
12
20
20/8=2.5
A
10
20
30
30/10=3
作业平均周转时间T=(2+6+12+20+30)/5=14(分钟)
作业平均带权周转时间W=(1+1.5+2+2.5+3)/5=2
2.解:
在资源分配系统中,死锁发生的原因是由于多个进程共享有限的独占型资源。
当多个进程占有了部分资源有需要更多的资源时,就可能形成循环等待链而导致死锁。
假设系统中的某种资源的个数为M,共享该资源的进程数为N,每个进程对该资源的最大需求量为W。
最极端的资源分配情况是:
每个进程都已经占有了W-1个资源,同时都需要再分配一个资源,这时如果要保证不发生死锁,系统中必须至少还有一个可分配的资源,即M满足关系式:
MN(W-1)。
因此保证系统不会发生死锁的最小M值为:
M=N(W-1)+1。
(1)N(W-1)+1=2*0+1=1,而M=3即MN(W-1)+1成立,故不会出现死锁。
(2)N(W-1)+1=2*1+1=3,而M=3即MN(W-1)+1成立,故不会出现死锁。
(3)N(W-1)+1=2*2+1=5,而M=3即MN(W-1)+1不成立,故可能会出现死锁。
出现死锁的情况是:
两个进程都占有了2个资源,同时都需要再分配一个资源。
(4)N(W-1)+1=3*1+1=4,而M=5即MN(W-1)+1成立,故不会出现死锁。
(5)N(W-1)+1=3*2+1=7,而M=6即MN(W-1)+1不成立,故可能会出现死锁。
出现死锁的情况是:
3个进程都已经占有了2个资源,同时都需要再分配一个资源。
3.解:
对于逻辑地址(0,430),430<600,对应的物理地址=256+430=686。
对于逻辑地址(2,88),88<100,对应的物理地址=112+88=200。
对于逻辑地址(4,112),112>96,所以产生中断。
4.所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。
采用FIFO页面淘汰算法的缺页情况如表3.11所示。
发生缺页的次数为16。
采用LRU页面淘汰算法的缺页情况如表3.12所示。
发生缺页的次数为15。
采用OPT页面淘汰算法的缺页情况如表3.13所示。
发生缺页的次数为11。
表3.11FIFO页面淘汰算法的缺页情况
页面走向
1
2
3
4
2
1
5
6
2
1
2
3
7
6
3
2
1
2
3
6
物理块1
1
1
1
4
4
4
6
6
6
3
3
3
2
2
2
6
物理块2
2
2
2
1
1
1
2
2
2
7
7
7
1
1
1
物理块3
3
3
3
5
5
5
1
1
1
6
6
6
3
3
缺页否
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
表3.12LRU页面淘汰算法的缺页情况
页面走向
1
2
3
4
2
1
5
6
2
1
2
3
7
6
3
2
1
2
3
6
物理块1
1
1
1
4
4
5
5
5
1
1
7
7
2
2
2
物理块2
2
2
2
2
2
6
6
6
3
3
3
3
3
3
物理块3
3
3
1
1
1
2
2
2
2
6
6
1
6
缺页否
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
表3.13OPT页面淘汰算法的缺页情况
页面走向
1
2
3
4
2
1
5
6
2
1
2
3
7
6
3
2
1
2
3
6
物理块1
1
1
1
1
1
1
3
3
3
3
6
物理块2
2
2
2
2
2
2
7
2
2
2
物理块3
3
4
4
6
6
6
6
1
1
缺页否
T
T
T
T
T
T
T
T
T
T
T
===============================================================================
1、桌上有一空盘,最多允许存放一只水果。
妈妈可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。
试用P、V操作实现妈妈、儿子、女儿三个并发进程的同步。
(还有一种互斥)
提示:
设置一个信号量表示可否向盘中放水果,一个信号量表示可否取桔子,一个信号量表示可否取苹果。
2、认真阅读下列Linux系统下的C程序receice.c,请参照该程序,编写一个相应的send.c程序。
以实现send程序循环从键盘输入信息并发送到key值为1234的共享内存,直到“end”被输入并发送后退出;receive程序从key值为1234的共享内存读取信息后,释放该共享内存并退出。
提示:
(1)send.c程序使用到的头文件(#include文件)与receive.c一样;
(2)从键盘输入字符的函数为fgets(buffer,BUFSIZ,stdin);
字符串追加的函数为strcat,如strcat(viraddr,buffer);
答案
1、设置三个信号量S,So,Sa,初值分别为1,0,0。
分别表示可否向盘中放水果,可否取桔子,可否取苹果。
1)------妈妈放苹果或者桔子操作Mather()
{while
(1)
{p(S);
将水果放入盘中;
if(是桔子)v(So);
elsev(Sa);
}
}
2)儿子拿桔子Son()
{while
(1)
{p(So)
取桔子
v(S);
吃桔子;
}
}
3)女儿拿苹果Daughter()
{while
(1)
{p(Sa)
取苹果
v(S);
吃苹果;
}
}
2、第二题参考答案