第3章练习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章处理机调度与死锁
3.1典型例题解析
【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题)
need(i)>0(对所有的i)
max(1)+…max(i)+…+max(n) <m+n
如果在这个系统中发生了死锁,则意味着已有一个以上的进程因申请不到该类资源而无限阻塞,而m个资源应该全部分配出去,即
alloc(1)+…alloc(i)+…+alloc(n)=m
因此
need(1)+…need(i)+…+need(n)=max(1)+…max(i)+…+max(n)-alloc(1)+…alloc(i)+…+alloc(n)<m+n-m
22.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是()。
A、9B、10C、11D、12
23.银行家算法是一种()算法。
A、解除死锁B、避免死锁C、预防死锁D、检测死锁
二、填空题
1.进程调度程序按____________从____________中选择一个进程;从而使之占用处理器运行。
A、就绪B、提交C、运行D、后备
11.在批处理系统中,用户的作业是由()组成的。
A、程序B、程序+数据+作业说明书C、程序+作业说明书D、程序+数据
12.假设下述四个作业同时到达,当使用最高优先数优先调度算法时,作业的平均周转时间为()。
作业
所需运行时间
优先数
1
2
4
2
5
9
3
8
1
4
3
8
A、4.5B、10.5C、4.75D、10.25
2.进程调度算法常用的有____________、____________、____________、高优先权优先等几种。
3.进程的调度方式有两种,一种是____________,另一种是____________。
4.在____________调度算法中,按照进程进入就绪队列的先后顺序来分配处理机。
8.作业调度算法的选择常考虑的因素之一是使系统有最高的吞吐量,为此应()。
A、不让处理机空闲B、能够处理尽可能多的作业C、使用户们都满意D、不使磁头过于复杂
9.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是()。
A、先来先服务B、高优先权优先C、短作业优先D、高响应比优先
10.作业调度程序从()队列中选取适当的作业投入运行。
5.死锁是指在系统中的多个___________无限期等待永远也不会发生的条件。
6.死锁产生的四个必要条件是____________、____________、____________和____________。
7.银行家算法中,当一个进程提出的资源请求将导致系统从____________状态进入____________状态时,系统就拒绝它的资源请求。
即
need(1)+…need(i)+…+need(n)<n
这样,至少必须存在一个进程,其need(i)≤0,这显然与题意不符,所以该系统不可能因竞争该类资源而进入死锁状态。
(3)此时系统可能发生死锁,如n=4,m=3时,若P1的Max为0,而其余三个进程的Max都为2,则仍然满足最大需求量之和(即6)小于m+n(即7)的要求,但当除P1以外的其余三个进程各得到一个资源时,这三个进程将进入死锁状态。(n=3,m=2)
四、问答题1、何谓死锁?产生死锁的原因和必要条件是什么?2、下列程序执行结果中a=?为什么?
{
……
a=55;
pid=fork();
if (pid= =0){
a=99;
exit(0);
}
else{
wait(NULL);
printf(“a=%d\n”,a);
}
……
}
参考答案一、单项选择题
1.D 2.D 3.CB4.B 5.A 6.A 7.B 8.B9.C 10.D11.B12.D 13.C 14.B 15.D16.D17.C 18.A 19.C20.D21.C22.B23.B
A、修改信号量B、拒绝分配新的资源C、撤销进程D、执行并行操作
20.资源的按序分配策略可以破坏()条件。
A、互斥B、请求和保持C、不剥夺D、环路等待
21.在()的情况下,系统出现死锁。
A、计算机系统发生了重大故障
B、有多个阻塞的进程存在C、若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源
D、资源数大大小于进程数或进程同时申请的资源数大大超过资源总数
13.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()。
A、2B、1C、3D、0.5
14.下面哪个算法适用于分时系统中的进程调度
A、FCFSB、时间片轮转C、CPU为主的优先D、动态优先数法
15.在多道批处理系统中,为充分利用各种资源,运行的程序应具备的条件是()。
作业
进入系统时间
需要计算时间
开始时间
完成时间
周转时间
1
9:00
60分钟
2
9:10
45分钟
3
9:25
25分钟
(1)求出每个作业的开始时间、完成时间及周转时间并填入表中。
(2)计算三个作业的平均周转时间应为多少?
3、一系统具有150个存储单元,在T0时刻系统按下表所示分配给3个进程。
T0时刻系统资源分配状态表
A、静态B、短作业C、动态D、高响应比
6.采用时间片轮转调度算法是为了()A、多个终端用户能得到系统的及时响应B、先来先服务.C、需CPU最短的进程先执行D、优先级高的进程能得到及时调度
7.下面关于优先权大小的叙述中正确的是()。
A、用户进程的优先权,应高于系统进程的优先权
B、在动态优先权中,随着作业的等待时间的增加,其优先权将随之增加C、资源要求多的作业,其优先权应高于资源要求少的作业D、长作业的优先权,应高于短作业的优先权
A、适应于内存分配的B、计算量大的C、I/O量大的D、计算型和I/O型均衡的
16.下面的叙述中正确的是()。
A、安全状态是没有死锁的状态,非安全状态是有死锁的状态。
B、安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态
C、安全状态是可能没有死锁的状态,非安全状态是有死锁的状态
D、安全状态是没有死锁的状态,非安全状态是可能有死锁的状态
8.对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于____________,破坏环路等待条件是属于____________,而剥夺资源是____________的基本方法。
三、计算题
2、在一个批处理单道系统中,采用响应比高者优先的作业调度算法。当一个作业进入系统后就可以开始调度,假定作业都是仅计算,忽略调度花费的时间。现有三个作业,进入系统的时间和需要计算的时间如表所示:
二、填空题1.某种调度算法就绪队列2.先来先服务短进程优先时间片轮转调度算法
3.剥夺式非剥夺式4.先来先服务5.进程6.互斥请求和保持不剥夺环路等待7.安全状态不安全状态
8.避免死锁预防死锁解除死锁
3.下列算法中,()只能采用非抢占调度方式,()只能采用抢占调度方式,而其余的算法既可采用抢占方式,也可采用非抢占方式。
A、高优先权优先法B、时间片轮转法C、FCFS调度算法D、短作业优先算法
4.进程调度的关键问题是()
A、时间片大小B、进程调度算法C、CPU速度D、内存空间利用率
5.()优先权是在创建进程的时候确定的,确定之后在整个进程运行期间不再改变。
答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。
(2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知:
进程
Maximum demand
Current allocation
P1
70
25
P2
60
40
P3
60
45
对下列请求应用银行家算法分别分析判定是否安全?
(1)第4个进程P4到达,最大需求60个存储单元,当前请求分配25个单元。
(2)第4个进程P4到达,最大需求50个存储单元,当前请求分配35个单元。
如果是安全的,请给出一个可能的进程安全执行序列;如果是不是安全的,请说明原因。
况:3.2练习题
单项选择题源自文库
1.任何时刻总是让具有最高优先数的进程占用处理器,此时采用的进程调度算法是()。
A、非抢占式的优先数调度算法B、时间片轮转调度算法
C、先来先服务调度算法D、抢占式的优先数调度算法
2.抢占式的优先数调度算法在()中很有用。
A、网络操作系统B、分布式系统
C、批处理系统D、实时系统
17.除了进程竞争资源,因为资源不足可能出现死锁以外,不适当的()也可能产生死锁。
A、进程优先权B、资源的线性分配C、进程推进顺序D、分配队列优先权
18.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏()条件是不太实际的。
A、互斥B、请求和保持C、不剥夺D、环路等待
19.除了可以采用资源剥夺法解除死锁,还可以采用()方法解除死锁。
3.1典型例题解析
【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题)
need(i)>0(对所有的i)
max(1)+…max(i)+…+max(n) <m+n
如果在这个系统中发生了死锁,则意味着已有一个以上的进程因申请不到该类资源而无限阻塞,而m个资源应该全部分配出去,即
alloc(1)+…alloc(i)+…+alloc(n)=m
因此
need(1)+…need(i)+…+need(n)=max(1)+…max(i)+…+max(n)-alloc(1)+…alloc(i)+…+alloc(n)<m+n-m
22.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是()。
A、9B、10C、11D、12
23.银行家算法是一种()算法。
A、解除死锁B、避免死锁C、预防死锁D、检测死锁
二、填空题
1.进程调度程序按____________从____________中选择一个进程;从而使之占用处理器运行。
A、就绪B、提交C、运行D、后备
11.在批处理系统中,用户的作业是由()组成的。
A、程序B、程序+数据+作业说明书C、程序+作业说明书D、程序+数据
12.假设下述四个作业同时到达,当使用最高优先数优先调度算法时,作业的平均周转时间为()。
作业
所需运行时间
优先数
1
2
4
2
5
9
3
8
1
4
3
8
A、4.5B、10.5C、4.75D、10.25
2.进程调度算法常用的有____________、____________、____________、高优先权优先等几种。
3.进程的调度方式有两种,一种是____________,另一种是____________。
4.在____________调度算法中,按照进程进入就绪队列的先后顺序来分配处理机。
8.作业调度算法的选择常考虑的因素之一是使系统有最高的吞吐量,为此应()。
A、不让处理机空闲B、能够处理尽可能多的作业C、使用户们都满意D、不使磁头过于复杂
9.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是()。
A、先来先服务B、高优先权优先C、短作业优先D、高响应比优先
10.作业调度程序从()队列中选取适当的作业投入运行。
5.死锁是指在系统中的多个___________无限期等待永远也不会发生的条件。
6.死锁产生的四个必要条件是____________、____________、____________和____________。
7.银行家算法中,当一个进程提出的资源请求将导致系统从____________状态进入____________状态时,系统就拒绝它的资源请求。
即
need(1)+…need(i)+…+need(n)<n
这样,至少必须存在一个进程,其need(i)≤0,这显然与题意不符,所以该系统不可能因竞争该类资源而进入死锁状态。
(3)此时系统可能发生死锁,如n=4,m=3时,若P1的Max为0,而其余三个进程的Max都为2,则仍然满足最大需求量之和(即6)小于m+n(即7)的要求,但当除P1以外的其余三个进程各得到一个资源时,这三个进程将进入死锁状态。(n=3,m=2)
四、问答题1、何谓死锁?产生死锁的原因和必要条件是什么?2、下列程序执行结果中a=?为什么?
{
……
a=55;
pid=fork();
if (pid= =0){
a=99;
exit(0);
}
else{
wait(NULL);
printf(“a=%d\n”,a);
}
……
}
参考答案一、单项选择题
1.D 2.D 3.CB4.B 5.A 6.A 7.B 8.B9.C 10.D11.B12.D 13.C 14.B 15.D16.D17.C 18.A 19.C20.D21.C22.B23.B
A、修改信号量B、拒绝分配新的资源C、撤销进程D、执行并行操作
20.资源的按序分配策略可以破坏()条件。
A、互斥B、请求和保持C、不剥夺D、环路等待
21.在()的情况下,系统出现死锁。
A、计算机系统发生了重大故障
B、有多个阻塞的进程存在C、若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源
D、资源数大大小于进程数或进程同时申请的资源数大大超过资源总数
13.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()。
A、2B、1C、3D、0.5
14.下面哪个算法适用于分时系统中的进程调度
A、FCFSB、时间片轮转C、CPU为主的优先D、动态优先数法
15.在多道批处理系统中,为充分利用各种资源,运行的程序应具备的条件是()。
作业
进入系统时间
需要计算时间
开始时间
完成时间
周转时间
1
9:00
60分钟
2
9:10
45分钟
3
9:25
25分钟
(1)求出每个作业的开始时间、完成时间及周转时间并填入表中。
(2)计算三个作业的平均周转时间应为多少?
3、一系统具有150个存储单元,在T0时刻系统按下表所示分配给3个进程。
T0时刻系统资源分配状态表
A、静态B、短作业C、动态D、高响应比
6.采用时间片轮转调度算法是为了()A、多个终端用户能得到系统的及时响应B、先来先服务.C、需CPU最短的进程先执行D、优先级高的进程能得到及时调度
7.下面关于优先权大小的叙述中正确的是()。
A、用户进程的优先权,应高于系统进程的优先权
B、在动态优先权中,随着作业的等待时间的增加,其优先权将随之增加C、资源要求多的作业,其优先权应高于资源要求少的作业D、长作业的优先权,应高于短作业的优先权
A、适应于内存分配的B、计算量大的C、I/O量大的D、计算型和I/O型均衡的
16.下面的叙述中正确的是()。
A、安全状态是没有死锁的状态,非安全状态是有死锁的状态。
B、安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态
C、安全状态是可能没有死锁的状态,非安全状态是有死锁的状态
D、安全状态是没有死锁的状态,非安全状态是可能有死锁的状态
8.对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于____________,破坏环路等待条件是属于____________,而剥夺资源是____________的基本方法。
三、计算题
2、在一个批处理单道系统中,采用响应比高者优先的作业调度算法。当一个作业进入系统后就可以开始调度,假定作业都是仅计算,忽略调度花费的时间。现有三个作业,进入系统的时间和需要计算的时间如表所示:
二、填空题1.某种调度算法就绪队列2.先来先服务短进程优先时间片轮转调度算法
3.剥夺式非剥夺式4.先来先服务5.进程6.互斥请求和保持不剥夺环路等待7.安全状态不安全状态
8.避免死锁预防死锁解除死锁
3.下列算法中,()只能采用非抢占调度方式,()只能采用抢占调度方式,而其余的算法既可采用抢占方式,也可采用非抢占方式。
A、高优先权优先法B、时间片轮转法C、FCFS调度算法D、短作业优先算法
4.进程调度的关键问题是()
A、时间片大小B、进程调度算法C、CPU速度D、内存空间利用率
5.()优先权是在创建进程的时候确定的,确定之后在整个进程运行期间不再改变。
答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。
(2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知:
进程
Maximum demand
Current allocation
P1
70
25
P2
60
40
P3
60
45
对下列请求应用银行家算法分别分析判定是否安全?
(1)第4个进程P4到达,最大需求60个存储单元,当前请求分配25个单元。
(2)第4个进程P4到达,最大需求50个存储单元,当前请求分配35个单元。
如果是安全的,请给出一个可能的进程安全执行序列;如果是不是安全的,请说明原因。
况:3.2练习题
单项选择题源自文库
1.任何时刻总是让具有最高优先数的进程占用处理器,此时采用的进程调度算法是()。
A、非抢占式的优先数调度算法B、时间片轮转调度算法
C、先来先服务调度算法D、抢占式的优先数调度算法
2.抢占式的优先数调度算法在()中很有用。
A、网络操作系统B、分布式系统
C、批处理系统D、实时系统
17.除了进程竞争资源,因为资源不足可能出现死锁以外,不适当的()也可能产生死锁。
A、进程优先权B、资源的线性分配C、进程推进顺序D、分配队列优先权
18.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏()条件是不太实际的。
A、互斥B、请求和保持C、不剥夺D、环路等待
19.除了可以采用资源剥夺法解除死锁,还可以采用()方法解除死锁。