计算机学科专业基础综合操作系统进程管理二.docx
- 文档编号:12564082
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:37
- 大小:36.07KB
计算机学科专业基础综合操作系统进程管理二.docx
《计算机学科专业基础综合操作系统进程管理二.docx》由会员分享,可在线阅读,更多相关《计算机学科专业基础综合操作系统进程管理二.docx(37页珍藏版)》请在冰点文库上搜索。
计算机学科专业基础综合操作系统进程管理二
计算机学科专业基础综合操作系统-进程管理
(二)
(总分:
272.00,做题时间:
90分钟)
一、单项选择题(总题数:
21,分数:
42.00)
1.有关抢夺资源预防死锁说法中不正确的是____。
(分数:
2.00)
A.若进程P申请资源R被进程Q占用,当进程Q等待另一资源时,可抢夺资源R,否则进程P等待
B.一个等待资源的进程只有得到新申请的资源和所有被抢夺的资源后才能继续运行
C.打印机是可抢夺的资源 √
D.主存空间是可抢夺的资源
解析:
预防死锁的方法就是破坏产生死锁的四个必要条件之一,但第一个条件是由设备固有条件所决定的,不能改变,应加以保证,所以不能将打印机改为可抢夺的资源。
A摒弃“不剥夺”条件,B是摒弃“请求与保持”条件。
D内存本身就是可抢夺资源。
2.某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机。
该系统可能会发生死锁的最小值是____。
(分数:
2.00)
A.2
B.3
C.4 √
D.5
解析:
每个进程3台,不会产生死锁;对于三个进程,可以有两个进程分别获得3台,使其执行完释放后让第三个进程获得3台,所以也不会产生死锁;对于四个进程,假若每个进程各获得2台而同时需要另外一台,产生了死锁,所以产生死锁的最小值是4。
类似题型
(1):
假设现在有P个进程,每个进程最多需要m个资源,并且有r个资源可用。
什么样的条件可以保证死锁不会发生?
解:
如果一个进程有m个资源它就能够结束,不会使自己陷入死锁中。
因此最差情况是每个进程有m-1个资源并且需要另外一个资源。
如果留下有一个资源可用,那么其中某个进程就能够结束并释放它的所有资源.使其它进程也能够结束。
所以避免死锁的条件是:
r≥p(m-1)+1。
由此条件解上题:
r=8,m=3,带入公式得:
2p≤7。
即当P小于等于3时才可保证死锁不会发生,所以可能会产生死锁的最小值是4。
类似题型
(2):
某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是多少?
解:
带入上述条件公式:
r≥3*(4-1)+1=10。
所以答案为10个。
3.为多道程序提供的可共享资源不足时,可能出现死锁。
但是,不适当的____也可能产生死锁。
(分数:
2.00)
A.进程优先权
B.资源的线性分配
C.进程推进顺序 √
D.分配队列优先权
解析:
产生死锁的两个原因:
竞争资源,进程间推进顺序非法。
4.死锁的解除方法有____。
(分数:
2.00)
A.允许进程共享资源
B.静态分配资源
C.抢夺资源 √
D.采用银行家算法
解析:
解除死锁的方法有两个:
剥夺资源,撤消进程。
5.如果进程A正在使用打印机,进程B又要申请打印机,则____。
(分数:
2.00)
A.可将打印机分配给进程B,让他们共同使用
B.可让进程B在阻塞队列中等待 √
C.将打印机从进程A中收回,使它们都不能使用
D.可让进程B在就绪队列中等待
解析:
打印机属于独占资源,一个进程在使用,另一个进程必须等待,不能同时使用,因此进程B放弃CPU,进程阻塞队列中等待。
不可能进入就绪队列,因为在就绪状态定义中明确指出,已分配到除CPU之外的所有必要资源的进程,而此时进程B缺少打印机,并没有获得除CPU之外的所有资源,因此不能进入就绪队列。
6.操作系统中同时存在着多个进程,它们____。
(分数:
2.00)
A.不能共享系统资源
B.不能调用同一段程序代码
C.可以共享所有的系统资源
D.可以共享允许共享的系统资源 √
解析:
引入进程的目的是为了使多道程序并发执行,以改善资源利用率及提高系统吞吐量,因此同时存在的多个进程可以共享允许共享的系统资源。
7.下述哪个选项不是管程的组成部分____。
(分数:
2.00)
A.局部于管程的共享数据结构
B.对管程内数据结构进行操作的一组过程
C.管程外过程调用管程内数据结构的说明 √
D.对局部于管程的数据结构设置初始值的语句
解析:
管程由局部于管程的共享变量说明.对管程内数据结构进行操作的一组过程以及对局部于管程的数据设置初始值的语句组成。
8.用PV操作管理临界区时,信号量初值应定义为____。
(分数:
2.00)
A.-1
B.0
C.1 √
D.任意值
解析:
临界资源的访问是互斥的,也就是一次只允许一个进程访问,因此信号量的初值应为1。
9.涉及某一资源造成与时间有关的错误的原因,正确的是____。
(分数:
2.00)
A.一个进程多次申请,释放该资源
B.若干并发进程同时使用该资源 √
C.若干并发进程互斥使用该资源
D.以上说法均不对
解析:
一个进程不可能引起死锁,若干并发进程互斥的使用资源也不会引起死锁,若不加限制,若干并发进程同时使用该资源.有可能会造成死锁。
10.多个进程同时存在于一个系统内,能在同一时间段内运行,被称为进程的____。
(分数:
2.00)
A.动态性
B.异步性
C.封闭性
D.并发性 √
解析:
进程五个特性:
结构特征,动态性,并发性,独立性,异步性。
此处是对并发性的解释。
11.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于____。
(分数:
2.00)
A.进程相应的程序段的长度
B.进程总共需要运行时间多少
C.进程自身和进程调度策略 √
D.进程完成什么功能
解析:
12.从静态的角度看,进程是由D、E、F三部分组成,其中F是进程存在的唯一标志。
当几个进程共享D时,D应当是可重入代码。
D,E,F:
数据集程序段I/O缓冲区PCBJCB
(分数:
2.00)
解析:
D:
程序段,E:
数据集,F:
PCB。
13.在____的情况下不可能产生死锁的。
(分数:
2.00)
A.多道程序环境中系统资源有限
B.使用同类临界资源的并发进程随机交替运行
C.规定进程一旦得到了需要的所有资源才投入运行 √
D.就绪队列中已无等待的进程
解析:
规定进程一旦得到了需要的所有资源才投入运行是预防死锁的一种方法,当然不可能发生死锁。
D中,就绪队列中无等待的进程,有可能所有进程处于死锁状态,都在阻塞队列中。
14.临界区是____。
(分数:
2.00)
A.一个缓冲区
B.一段共享数据区
C.一段程序 √
D.一个互斥资源
解析:
临界区就是进程中访问临界资源的那段代码。
15.在进程的状态转换中,____变化一般不可能发生。
(分数:
2.00)
A.执行——就绪
B.阻塞——执行 √
C.阻塞——就绪
D.就绪——执行
解析:
阻塞执行:
如果一个进程因等待I/O而产生阻塞,在I/O资源释放后,若CPU处于休眠状态,此进程就可以直接从阻塞状态迁移到执行状态,但很少有这种情况发生,所以是一般不可能发生的。
有些参考书中认为这种转换是不可能发生的。
看清选项如果有就绪一阻塞,应该是最佳答案,如果选项中没有就绪一阻塞,只有阻塞一执行,则将其作为不可能发生的答案。
16.执行一次信号量S的P(S)操作,使信号S.value的值减1后,若S.value的值为____时,调用进程阻塞等待。
(分数:
2.00)
A.小于0时 √
B.大于0时
C.等于0时
D.小于等于0时
解析:
P操作描述如下
P(s)
{
s.value=s.value-1:
if(s.value<0)
{
block(s.L)该进程状态置为等待状态
将该进程的PCB插入相应的等待队列末尾;
}
}
17.对于记录型信号量,在执行一次wait操作时,信号量的值应当1A2;当其值为3B4时,进程应阻塞。
在执行signal操作时,信号量的值应当5C6;当其值为7D8时,应唤醒阻塞队列中的进程。
A,C:
(1)不变
(2)加1(3)减1(4)加指定数值(5)减指定数值
B,D:
(1)大于0
(2)小于0(3)大于等于0(4)小于等于0
(分数:
2.00)
解析:
A减1;B小于0;C加1;D小于等于0
18.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是____。
(分数:
2.00)
A.1,0,-1,-2 √
B.2,0.-1,-2
C.1,0,-1
D.3,2,1,0
解析:
如果没有进程使用,S为1,有一个进程使用为0,若此时又有进程想使用,s为-1,第三个进程也想使用,这时s为-2。
19.下列进程调度算法中,综合考虑进程等待时间和执行时间的是____。
(分数:
2.00)
A.时间片轮转调度算法
B.短进程优先调度算法
C.先来先服务调度算法
D.高响应比优先调度算法 √
解析:
本题考查进程调度算法的基本概念。
时间片轮转调度算法是保证用户的响应时间,每个进程分配一个时间片,所以在一给定的很短时间内进程都可以获得执行,等待时间都比较短,但没有考虑进程执行时间长短问题;先来先服务调度算法只考虑了进程的等待时间,等待时间长的进程优先处理;短进程优先调度算法只考虑了执行时间,执行时间短的进程优先处理。
高响应比优先调度算法中如果进程等待时间相同,执行时间短的优先,进程执行时间相同的等待时间短的优先,所以综合考虑了进程等待时间和执行时间。
20.在分时系统中,导致创建进程的典型事件是____。
(分数:
2.00)
A.用户注册
B.用户登录 √
C.用户记账
D.用户通信
解析:
此题考查的引起创建进程的事件。
在分时系统中,用户在终端键入登录命令后,如果是合法用户,系统将为该终端建立一个进程.并把它插入就绪队列。
21.进程控制块是描述进程状态和特性的数据结构,一个进程____。
(分数:
2.00)
A.可以有多个进程控制块
B.可以和其他进程共用一个进程控制块
C.可以没有进程控制块
D.只能有唯一的进程控制块 √
解析:
一个进程只能有唯一的一个进程控制块与其对应,进程控制块是进程存在的唯一标志,是系统感知进程存在的依据。
二、综合应用题(总题数:
23,分数:
230.00)
22.设系统中有三类资源A.B和C,又设系统中有5个进程P1,P2,P3,P4和P5。
在T0时刻系统状态如下:
最大需求量
已分配资源量
剩余资源量
ABC
ABC
ABC
P1
864
121
211
P2
433
311
P3
1013
413
P4
333
322
P5
546
113
(1)系统是否处于安全状态?
如是,则给出进程安全序列
(2)如果进程P5申请1个资源类A,1个资源类B和1个资源类C,能否实施分配?
为什么?
(分数:
10.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)
最大需求量已分配资源量剩余资源量尚需要量
ABCABCABCABC
P1864121211743
P2433311122
P31013413600
P4333322011
P5546113433
系统是处于安全状态,安全序列为:
P4,P2,P1,P3,P5
(2)P5申请(1,1,1)
①进行两个判断:
(1,1,1)小于P5的Need(4,3,3);
(1,1,1)小于当前的剩余Available(2,1,1)
②假定分配给P5,修改P5的allocation及Need数据,还有系统的Available数据。
最大需求量已分配资源量剩余资源量尚需要量
ABCABCABCABC
P1864121100743
P2433311122
P31013413600
P4333322011
P5546224322
③利用安全性算法检查此时系统是否安全。
因为所剩余的资源量(1,0,0)已经不能满足任何进程的需要,故系统进入不安全状态。
不能实施分配。
23.考虑某个系统在如下时刻的状态。
Allocation
Max
Available
ABCD
ABCD
ABCD
P0
001
2001
1520
P1
1000
1750
P2
1354
2356
P3
0014
0656
使用银行家算法回答下面的问题:
(1)Need矩阵是怎样的?
(2)系统是否处于安全状态?
如安全,请给出一个安全序列。
(3)如果从进程P1发来一个请求(0,4,2,0),这个请求能否立刻被满足?
如安全,请给出一个安全序列。
(分数:
10.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)Need矩阵如下图
ABCD
P00000
P10750
P21002
P30642
(2)此该的安全性
WorkNeedAllocationW+AFinish
ABCDABCDABCDABCD
P01520000000121532True
P21532100213542886True
P12886075O10003886True
P338860656001438910True
因为找到一个安全序列{PO,P2,P1,P3},故当前系统处于安全状态。
(3)P1发出请求(0,4,2,0)
①进行两个判断:
(0,4,2,0)小于P1的Need(0,7,5,0);
(0,4,2,0)小于当前的剩余Available(1,5,2,0)
②假定分配给P1,修改P1的allocation及Need数据,还有系统的Available数据。
P1的allocation变为(1,4,2,0),P1的Need变为(0,3,3,0),系统的Available变为(1,1,0,0)。
③利用安全性算法检查此时系统是否安全。
WorkNeedAllocationW+AFinish
ABCDABCDABCDABCD
P01100000000121112True
P21112100213542466True
P12466033014203886True
P338860656001438910True
因为找到一个安全序列(P0,P2,P1,P3),故系统处于安全状态,可以将P1请求的资源立该分配给P1。
[解析]银行家算法基本上都是一样的步骤的,先检查其安全性,虽然书上公式写得比较复杂,但真正做题都比较简单,安全序列可有多个,写出其中一个即可证明其安全,然后是当某进程提出申请后,分三步:
①进行两个判断②假定分配③利用安全性算法检查此时系统是否安全。
24.假设有一个计算进程CP和一个打印进程PP,进程CP将计算结果送入由10个缓冲区组成的缓冲池,进程PP从该缓冲区中取出数据并打印。
为实现进程同步,设置信号量SC,SP,送数指针in、取数指针out。
同步算法如下:
Structseinaphonemutex=1SC=10,SP=0;
Messagebuffers[10];
Intin,out=0,0;
Cobegin
VoidCP()
{while(TRUE){
计算下一个数据到x;
①;
②;
Buffers[in]=x;
③;
V(mutex);
④;
}
}
VoidPP()
{while(TRUE){
⑤;
⑥;
y=buffers[out];
⑦;
V(mutex);
⑧;
打印y中的数据;
}
}
}
coend
问:
(1)指出信号量SC,SP初值的物理意义。
(2)要求打印进程打印的数据与计算进程计算的数据个数次序完全一致,在括号内填入有关的语句,完善程序。
(分数:
10.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)SC是指缓冲区有无空位置,初始状态下有10个空位置所以为10。
SP是指缓冲区有无数据,初始状态下无数据,所以为0。
(2)①P(SC)②P(mutex)③in:
=(in+1)mod10④V(SP)
⑤P(SP)⑥P(mutex)⑦out:
=(out+1)mod10⑧V(SC)
此题是简单的生产者——消费者。
对于生产者——消费者要着重掌握,很多题目都于此问题类似。
25.有5个进程如下表。
时间从0开始,单位为1,最高优先级为0。
进程
到达时间
优先级
所需运行时间
A
0
2
3
B
2
3
8
C
4
4
6
D
6
1
5
E
8
0
4
绘图说明以下进程调度过程:
(1CPU系统,所有进程只使用CPU)。
请使用时间为横向坐标轴,并请在图中表明每个进程的“等待”和“运行”两种状态。
(1)先来先服务(FCFS)。
(2)轮转调度(Round—Robin)时间片=2。
(3)优先级轮转法(PriorityRound—R0bin)时间片=2。
(4)最短进程轮转法(ShortestProcessNext)。
(分数:
10.00)
__________________________________________________________________________________________
正确答案:
()
解析:
FCFS:
[解析]在进程调度中,先来先服务算法是按照进程到达的时间顺序调度进程。
2.轮转调度,时间片=2:
[解析]在轮转调度中,时间片为2,按照先来先服务顺序依次调度进程,每个进程一次允许运行一个时间片,如果在一个时间片没用完的情况下运行完成,则提前进行调度。
3.优先级轮转法
[解析]在优先级轮转调度中,基本思想与轮转调度一致,每个时间片为2,每个进程一次允许运行一个时间片,如果在一个时间片没用完的情况下运行完成,则提前进行调度,但调度次序按照优先级最高的优先调度。
4.最短进程轮转法
[解析]在最短进程轮转调度中,基本思想与轮转调度一致.每个时间片为2,每个进程一次允许运行一个时间片,如果在一个时间片没用完的情况下运行完成.则提前进行调度,但调度次序按照每次所需运行时间最短的进程的优先调度。
26.在一个单CPU的计算机系统中,采用可剥夺式(也称抢占式)优先级的进程调度方案,且所有任务可以并行使用I/O设备。
下表列出了三个任务T1、T2、T3的优先级、独立运行时占用CPU和I/O设备的时间。
如果操作系统的开销忽略不计,画出三个任务的运行情况,并回答:
(1)这三个任务从同时启动到全部结束的总时间是多少?
(2)整个过程中CPU空闲时间共有多少?
任务
优先级
每个任务独立运行时所需的时间
T1
高
对每个任务
占用CPU10ms,I/O13ms,再占用CPU5ms
T2
中
T3
低
(分数:
10.00)
__________________________________________________________________________________________
正确答案:
()
解析:
三个任务的运行情况如下图:
(其中细线为T1,虚线为T2,粗线为T3)
因为采取了可剥夺方式,按优先级先执行T1,再T2,再T3,当T1完成I/O时,抢占CPU,T3只执行了3ms,T1执行完,T2还进行I/O,T3执行,当T2完成I/O,又抢占CPU,到T2完成后,T3继续执行,直到完成。
(1)三个任务同时启动到全部完成的总时间为15*3+13=58ms。
(2)整个过程中CPU空闲时间为13ms。
在等待T3的I/O操作完成。
27.试修改下面消费者生产者问题解法中的错误
Producer:
Begin
Repeat
…
Produceaniteminnextp;
Wait(mutex);
Wait(empty);
Buffer(in):
=nextp;
(in:
=(in+1)modn;)
Signal(mutex);
Untilfalse;
End
Consumer:
Begin
Repeat
Wait(mutex);
Wait(full):
Nextc:
=buffer(out);
Out:
=out+1;
Signal(mutex);
Consumeiteminnextc;
Untilfalse;
End
(分数:
10.00)
__________________________________________________________________________________________
正确答案:
()
解析:
Producer:
Begin
Repeat
Produceaniteminnextp;
Wait(mutex);(Wait(empty);)
Wait(empty);(Wait(mutex);)
Buffer(in):
=nextp;
(in:
=(in+1)modn;)
Signal(mutex);
(signal(full);)
Untilfalse;
End
Consumer:
Begin
Repeat
Wait(mutex);(Wait(full);)
Wait(full);(Wait(mutex);)
Nextc:
=buffer(o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 学科专业 基础 综合 操作系统 进程 管理