1、操作系统(进程管理、处理机调度与死锁)模拟试卷 1 及答案与解析一、单项选择题1 正在运行的进程,因某种原因而暂时停止运行,等待某个事件的发生,此时处于( )状态。(A)运行(B)完成(C)就绪(D)阻塞2 在操作系统中,( ) 是资源分配、调度和管理的最小单位。(A)进程(B)线程(C)作业(D)程序段3 在时间片轮转算法中,( )的大小对计算机性能有很大影响。(A)对换区(B)分页(C)时间片(D)程序段4 如果有一个进程从运行状态变成等待状态,或完成工作后就撤消,则必定会发生( )。(A)进程切换(B)存储器再分配(C)时间片轮转(D)死锁5 单处理机系统中,可并行的是( )。进程与进程
2、 处理机与设备 处理机与通道 设备与设备(A)、和(B) 、和(C) 、和(D)、和6 下列进程调度算法中,综合考虑进程等待时间和执行时间的是( )。(A)时间片轮转调度算法(B)最短进程优先调度算法(C)先来先服务调度算法(D)高响应比优先调度算法7 下列选项中,操作系统提供的给应用程序使用的接口是( )。(A)系统调用(B)中断(C)库函数(D)原语8 下列选项中,导致创建新进程的操作是( )。I用户登录成功 设备分配 启动程序执行(A)仅和(B)仅 和(C)仅 和(D)、9 假设与某类资源相关联的信号量初值为 3,当前值为 1,若 M 表示该资源的可用个数,N 表示等待该资源的进程数,则
3、 M、N 分别是( )。(A)0、1(B) 1、0(C) 1、2(D)2、010 下列选项中,降低进程优先权级的合理时机是( )。(A)进程的时间片用完(B)进程刚完成 IO,进入就绪列队(C)进程长期处于就绪列队(D)进程从就绪状态转为运行状态11 进程 P0 和 P1 的共享变量定义及其初值如下:booleam flag2;int turn=0;flag0=false;flag1=false;若进程 P0 和 P1 访问临界资源的伪代码按照下面设计:void P0()进程 P0while(TRUE)flag0=TRUE;turn=1;While(flag1&(turn=1)临界区;flag
4、0=FALSE;void P1()进程 P1while(TRUE)flag0=TRUE;turn=0;While(flag0&(turn=0);临界区;flag0=FALSE;则并发执行进程 P0 和 P1 时产生的情况是( )。(A)不能保证进程互斥进入临界区,会出现“饥饿”现象(B)不能保证进程互斥进入临界区,不会出现“饥饿 ”现象(C)能保证进程互斥进入临界区,会出现“饥饿”现象(D)能保证进程互斥进入临界区,不会出现“饥饿”现象12 某计算机系统中有 8 台打印机,有 K 个进程竞争使用,每个进程最多需要 3 台打印机。该系统可能会发生死锁的 K 的最小值是( )。(A)2(B) 3(
5、C) 4(D)513 当计算机操作系统提供了管态(系统态)和目态(用户态)时,( )必须在管态下执行。(A)从内存中取数的指令(B)把运算结果送内存的指令(C)算术运算指令(D)输,A输出指令14 当中断发生后,进人中断处理的程序属于( )。(A)用户程序(B) OS 程序(C)可能是用户程序,也可能是 OS 程序(D)单独的程序,既不是用户程序,也不是 OS 程序15 引入多道程序的目的在于( )。(A)充分利用 CPU,减少 CPU 等待时间(B)提高实时响应速度(C)有利于代码共享,减少主、辅存信息交换量(D)充分利用存储器16 在一段时间内,只允许一个进程访问的资源称为( )。(A)共
6、享资源(B)独占资源(C)临界资源(D)共享区17 临界区是指( ) 。(A)一组临界资源的集合(B)可共享的一块内存区(C)访问临界资源的一段代码(D)请求访问临界资源的代码18 死锁现象是由于( )选成的。(A)CPU 数量不足(B)内存数量不足(C)多个进程抢夺并独占资源(D)作业批处理。二、综合题19 什么是 AND 信号量? 请利用 AND 信号量写出生产者一消费者问题的解法。20 在测量控制系统中的数据采集任务把所采集的数据送一个单缓冲区,计算任务从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两者共享单缓冲区的同步算法。21 试利用记录型信号量写出一个不会出现死锁的哲学家
7、进餐问题的解决算法。22 为什么进程在进入临界区之前,应先执行“进入区” 代码,在退出临界区后又执行“退出区”代码?23 我们为某临界区设置一把锁 W,当 W=1 时,表示关锁; w=0 时,表示锁已打开。试写出开锁原语和关锁原语,并利用它们去实现互斥。24 试修改下面生产者一消费者问题解法中的错误。producer:beginrepeatproducer an item in nextp;wait(mutex);wait(full);buffer(in):=nextp;signal(mutex);until false;endconsumer:beginrepeatwait(mutex);w
8、ait(empty);nextc:=buffer(out);out:=out+l;signal(mutex);consumer item in nextc;until false:end25 如何利用管程来解决生产者一消费者问题?26 3 个进程 P1、P2 、P3 互斥使用一个包含 N 个(NO)单元的缓冲区,P1 每次用produCe()生成一个正整数并用 put()迭入缓冲区某一空单元中; P2 每次用 getodd()从该缓冲区中取出一个奇数并用 Countodd()统计奇数个数; P3 每次用 geteven()从该缓冲区中取出一个偶数并用 Counteven()统计偶数个数。请用信
9、号量机制实现这3 个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。27 假设程序 PA 和 PB 单独执行时所需的时间分别用 TA 和 TB 表示,并且假设,TA=1 h,T B=15 h,其中处理器工作时间分别为 TA=18 min,T B=27 min,如果采用多道程序设计方法,让:PA、PB 并行工作,假定处理器利用率达到 50,另加 15 min 系统开销,请问系统效率能提高百分之几?28 某多道程序设计系统配有一台处理器和两台外设 101、102,现有 3 个优先级由高到低的作业 J1、J2、J3 都已装入了主存,它们使用资源的先后顺序和占用时间分别是:J1:1
10、02(30 ms),CPU(10 ms);101(30 ms),CPU(10 ms);J2:101(20 ms),CPIJ(20 ms);102(40 ms);J3:CPU(30 ms),101(20 ms)。处理器调度采用可抢占的优先数算法,忽略其他辅助操作时间,回答下列问题。(1)分别计算作业 Jl、J2 和 J3 从开始到完成所用的时间。(2)3 个作业全部完成时 CPU 的利用率。(3)3 个作业全部完成时外设 101 的利用率。28 有 A、B 两个程序,程序 A 按顺序使用 CPU 10 s,使用设备甲 5 s,使用 CPU 5 s,使用设备乙 5 s,最后使用 CPu 10 s。
11、程序 B 按顺序使用设备甲 10 s,使用CPU 10 s,使用设备乙 5 s,使用 CPU 5 s,使用设备乙 10 s,试问:29 在顺序环境下执行程序 A 和程序 B,CPU 的利用率是多少?30 在多道程序环境下,CPU 的利用率是多少?31 何谓死锁? 产生死锁的原因和必要条件是什么 ?在解决死锁问题的几个方法中,哪种方法最容易实现? 哪种方法使资源的利用率最高?32 简述预防死锁的办法。33 在银行家算法的例子中,如果 P0 发出的请求向量由 Request0(0,2,0)改为Request0(0,1,0),问系统可否将资源分配给它 ?34 为使用户进程互斥地进入临界区,可以把整个
12、临界区实现成不可中断的过程,即用户有屏蔽所有中断的能力。每当用户程序进入临界区的时候,屏蔽所有中断;当出了临界区的时候,再开放所有中断。你认为这种方法有什么缺点?操作系统(进程管理、处理机调度与死锁)模拟试卷 1 答案与解析一、单项选择题1 【正确答案】 D【试题解析】 此题主要考查进程的基本状态及其转换等相关内容。在操作系统中,进程的三种基本状态之一的阻塞状态是指正在运行的进程,因某种原因而暂停运行(如发生了 IO 请求等),等待某个事件的发生,导致进程不能继续运行且交出处理机时的状态称为阻塞状态。【知识模块】 进程管理2 【正确答案】 A【试题解析】 此题主要考查进程调度的基本概念等相关内
13、容。进程的引入可以更好地描述系统中的并发活动。它被定义为一个具有独立功能的程序关于某个数据集合的一次运行活动。在操作系统中,进程是进行系统资源分配、调度和管理的最小独立单位,操作系统的各种活动都与进程有关。【知识模块】 进程管理3 【正确答案】 C【试题解析】 此题主要考查在时间片轮转算法中时间片大小对于系统性能的重要性。在时间片轮转算法中,时间片的大小对计算机性能有很大影响。如果时间片划分不当,则系统不能提供令用户满意的响应时间。时间片的大小应选择得适当,通常要考虑到以下几个因素:(1)系统对响应时间的要求;(2)就绪队列中进程的数目;(3)系统的处理能力。【知识模块】 进程管理4 【正确答
14、案】 A【试题解析】 此题主要考查进程切换的相关内容。进程调度将从就绪队列中另选一个进程占用处理器,使一个进程让出处理器,由另一个进程占用处理器的过程称为“进程切换”。若有一个进程从运行状态变成等待状态,或者进程完成工作后被撤消,则必定会发生“进程切换”;若一个进程从等待状态变成就绪状态,则不一定会发生进程切换。【知识模块】 进程管理5 【正确答案】 D【试题解析】 在单处理机系统中,仅有一个处理机,所以在一个特定的时刻只能有一个进程能够获得处理机的使用权,因而必须排除 A、B 和 C,只有 D 是合理的答案。【知识模块】 进程管理6 【正确答案】 D【试题解析】 在若干进程调度算法中,时间片
15、轮转调度算法考虑的是时间分配上的均衡,最短进程优先调度算法主要考虑的是短作业的等待时间,先来先服务调度算法考虑的是达到顺序的合理性,而只有高响应比优先调度算法做到了综合考虑进程等待时间和执行时间。 【知识模块】 进程管理7 【正确答案】 A【试题解析】 在现代操作系统中,操作系统提供了包括系统调用、命令接口、图形接口等方便用户使用系统资源的接口,在上述接口中,只有系统调用是提供给程序使用的。【知识模块】 进程管理8 【正确答案】 C【试题解析】 下列选项中,用户登录成功、启动程序执行均会导致创建新进程,而设备分配则不会。【知识模块】 进程管理9 【正确答案】 B【试题解析】 按照信号量的定义,
16、与资源相关联的信号量的取值是与当前可用资源数量一致的,因此 M 为 1,而依题意,目前没有等候该资源的进程,故 N 的值为零。【知识模块】 处理机调度与死锁10 【正确答案】 A【试题解析】 在此题中,进程完成 IO,进入就绪列队;长期处于就绪列队的进程需要尽快得到处理机为它服务,进程从就绪状态转为运行状态的时候也不能降低进程的优先级,只有在“进程的时间片用完”才是降低进程优先级的最好时机。【知识模块】 处理机调度与死锁11 【正确答案】 A【试题解析】 在题中给出的伪代码可知,由于信号量 FLAG 的赋值方法不对,故而会使得不能保证进程互斥进入临界区,会出现“饥饿”现象。【知识模块】 处理机
17、调度与死锁12 【正确答案】 C【试题解析】 当 k 小于 4(即 k 的值取为 3 及其以下值)的时候,系统可以为某个进程分配打印机资源,并可以确保在有限的时间里使某个进程完成并且退还其已经占用的打印机,进而使各个进程能够依次顺利地完成。而当 k4 的时候,就构成了死锁需要的条件,会引起死锁的产生,所以答案为 C。【知识模块】 处理机调度与死锁13 【正确答案】 D【试题解析】 在提供了管态(系统态)和目态(用户态)两种工作状态的操作系统环境下,中断处理程序必须工作在管态状态下,而输入输出的工作需要通过发出中断终端处理请求申请 CPU 对于输入输出操作的处理。所以答案为 D。【知识模块】 处
18、理机调度与死锁14 【正确答案】 B【试题解析】 在现代操作系统的设计中,为了保证系统资源的安全,将系统的工作状态划分为目态和管态两种,只有操作系统的核心才能工作在管态,而中断处理程序必须工作在管态,故其属于操作系统程序。【知识模块】 处理机调度与死锁15 【正确答案】 A【试题解析】 所谓多道程序设计指的是计算机系统中允许多个程序同时进入主存储器并启动计算的系统管理方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用 CPU,交替执行。引人多道程序设
19、计技术的根本目的是为了提高 CPU 的利用率。【知识模块】 处理机调度与死锁16 【正确答案】 C【试题解析】 在现代计算机系统中,有一些资源不能被多个进程同时使用,这样的资源如果使用或分配不当会造成错误,它们只能被排它地使用,这样的资源就是临界资源。【知识模块】 处理机调度与死锁17 【正确答案】 C【试题解析】 每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的可轮流分享的资源)。使用时,每次只准许一个进程进入临界区,一旦一个进程进入临界区之后,不允许其他进程同时进入。进程进入临界区的调度原则是:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入;任何时
20、候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待;进入临界区的进程要在有限时间内退出,以便其他进程能及时进入自己的临界区;如果进程不能进入自己的临界区,则应让出 CPU,避免进程出现“忙等”现象。【知识模块】 处理机调度与死锁18 【正确答案】 C【试题解析】 死锁是指多个进程在占有一定资源的同时还寄希望得到其他进程占有的资源,而该进程也是占有一定的资源且不放弃的同时,期望获得其他进程占有的资源,进程间相互不让步,造成各个进程均无法推进的现象被称为死锁。【知识模块】 处理机调度与死锁二、综合题19 【正确答案】 为解决并行所带来的死锁问题,
21、在 wait 操作中引入 AND 条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源一次性地全部分配给进程,用完后一次性释放。解决生产者一消费者问题可描述如下:var mutex,empty,full:semaphore:=1 ,n,0;buffer:array0,n 一 1of item;in,out:integer:=0,0;beginparbeginprodueer: beginrepeatproduee an item in nextp:wait(empty);wait(s1,s2,s3,sn);s1,s2,sn 为执行生产者进程除 empty 外其余的条件wait(mute
22、x);buffer(in):=nextp;in:=(in+1)mod n;signal(mutex);signal(full);signal(s1,s2,s3,sn);until false;endconsumer:beginrepeatwait(full);wait(kl,k2 ,k3, kn);kl ,k2,kn 为执行消费者进程除 full 外其余的条件wait(mutex);nextc:=buffer(out);out:=(out+1)mod n;signal(mutex);signal(empty);signal(kl,k2,k3,kn);consume the item in ne
23、xtc;until false;endparendend【知识模块】 进程管理20 【正确答案】 int mutex=1;int empty=n;int full=0;int in=0;int out=0;main()cobeginsend();obtain();coendsend()while(1)collect data in nextp;wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1)mod n;signal(mutex);signal(full); sendobtain()while(1)wait(full);wait(mutex);
24、nextc:=buffer(out);out:=(out+1)mod n;signal(mutex);signal(empty);culculate the data in nextc; while obtain【知识模块】 进程管理21 【正确答案】 设初始值为 1 的信号量 cI表示 I 号筷子被拿(I=1, 2,3, 4,2n) ,其中 n 为自然数send(I):Beginif I mod 2=1 thenP(cI);P(eI 一 1 mod 5);Eat;V(CI 一 1 rood 5);V(CI);elseP(CI 一 1 mod 5);P(CI);Eat;V(CI);V(cI 一
25、 1 mod 5);End【知识模块】 进程管理22 【正确答案】 为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为“进入区” 代码;在退出临界区后,必须执行“退出区”代码,用于恢复未被访问标志。【知识模块】 进程管理23 【正确答案】 开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W=1)do no_op;W=1;利用开关锁原语实现互斥:var W:semaphore:=0;begi
26、nparbeginprocess:beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;endparend【知识模块】 进程管理24 【正确答案】 producer:beginrepeatproducer an item in nextp;wait(mutex);wait(full);*应为 wait(empty),而且还应该在 wait(mutex)的前面*buffer(in):=nextp;*缓冲池数组游标应前移:in:=(in+1)mod n;*signal(mutex);* signal(fu
27、ll);*until false;endconsumer:beginrepeatwait(mutex);wait(empty);*应为 wait(full),而且还应该在 wait(mutex)的前面*nextc:=buffer(out);out:=out+1;*考虑循环,应改为:out:=(out+1)mod n;*signal(mutex);*signal(empty);*consumer item in nextc;until false;end【知识模块】 进程管理25 【正确答案】 定义信号量 S1 控制 P1 与 P2 之间的同步;S2 控制 P1 与 P3 之间的同步;empty
28、 控制生产者与消费者之间的同步; mutex 控制进程间互斥使用缓冲区。程序如下:Var sl=0,s2=0 ,empty=N,mutex=1;ParbeginP1:beginX=produce();*生成一个数*P(empty); *判断缓冲区是否有空单元*P(mutex); *缓冲区是否被占用*Put();If x2=0V(s2);*如果是偶数,向 P3 发出信号*elseV(s1);*如果是奇数,向 P2 发出信号*V(mutex); *使用完缓冲区,释放 *endP2:beginP(s1);*收到 P1 发来的信号,已产生一个奇数*P(mutex); *缓冲区是否被占用*Getodd(
29、);Countodd(): =countodd()+1;V(mutex);*释放缓冲区*V(empty);*向 P1 发信号,多出一个空单元 *endP3:beginP(s2) *收到 P1 发来的信号,已产生一个偶数*P(mutex);*缓冲区是否被占用*Geteven();Counteven():=counteven()+1;V(mutex);*释放缓冲区*V(empty);*向 P1 发信号,多出一个空单元 *endParend【知识模块】 进程管理26 【正确答案】 定义信号量 s1 控制 P1 与 P2 之间的同步;s2 控制 P1 与 P3 之间的同步;empty 控制生产者与消费
30、者之间的同步; mutex 控制进程间互斥使用缓冲区。程序如下:Var sl=0,s2=0 ,empty=N,mutex=1;ParbeginP1:beginX=produce(); *生成一个数*P(empty); *判断缓冲区是否有空单元*P(mutex); *缓冲区是否被占用*Put();If x2=0V(s2); *如果是偶数,向 P3 发出信号*elseV(s1); *如果是奇数,向 P2 发出信号*V(mutex); *使用完缓冲区,释放 *endP2:beginP(s1); *收到 P1 发来的信号,已产生一个奇数*P(mutex); *缓冲区是否被占用*Getodd();Cou
31、ntodd(): =countodd()+1;V(mutex);*释放缓冲区*V(empty); *向 P1 发信号,多出一个空单元*endP3:beginP(s2) *收到 P1 发来的信号,已产生一个偶数*P(mutex); *缓冲区是否被占用*Geteven();Counteven():=counteven()+1;V(mutex);*释放缓冲区*V(empty); *向 P1 发信号,多出一个空单元 *endParend【知识模块】 进程管理27 【正确答案】 在串行情况下,两个程序运行时间总和共计 25 h,在并行方式下,处理器利用率为 50,说明处理器的工作时间占总运行时间的 50
32、,根据已知条件,“处理器在处理程序 A 和程序 B 所需的工作时间分别为 TA=18 min,T B=27 min。” ,即总运行时间为 (1 8+27)50 (min),考虑到还有 15 min 系统开销,故并行与串行的效率比为并行处理所需的时间串行处理所需要的时间总和=(18+27) 50+1 5min25h=70,即采用多道处理技术之后,完成程序A 和程序 B 所需的时间为串行处理方法的 70。因此可以说效率提高 30。【知识模块】 进程管理28 【正确答案】 为了清楚地描述作业执行情况,我们对题目假设的情况分析如下:(1)J1 占用 102 传输 30 ms 时,J1 传输完成,抢占
33、J2 的 CPU,运行 10 ms,再传输 30 ms,运行 10 ms,完成。J1 从开始到完成所用的时间为: 30+10+30+lO=80 ms。J2 与其并行地在 101 上传输 20 ms,抢占 J3 的 CPU,J2 运行 10 ms 后,被 J1抢占 CPU,等待 10 Ills 之后, J2 再次得到 CPU,运行 10 ms,J2 启动 102 传输,40 ms 完成。J2 从开始到完成所用的时间为: 20+10+10+10+40=90 ms。J3 在 CPU上执行 20 ms,被 J2 抢占 CPU,等待 30 ms,再运行 10 ms,等待 10 ms,J3 启动101 运
34、行 20 ms 的传输,完成。J3 从开始到完成所用的时间为:20+30+10+10+20=90 ms。(2)三个作业全部完成时,CPU 的利用率为:(10+20+30+10) 90=7 9=78。(3)三个作业全部完成时,外设 101 的利用率为:(20+30+20)90=7 9=78。【知识模块】 处理机调度与死锁【知识模块】 处理机调度与死锁29 【正确答案】 程序 A 和程序 B 顺序执行时,程序 A 执行完毕,程序 B 才开始执行。两个程序共耗时 75 s,其中占用 CPU 的时间为 40 s,因此顺序执行时 CPU的利用率为 4075=53。【知识模块】 处理机调度与死锁30 【正
35、确答案】 在多道程序环境下,两个程序并发执行,其执行情况如下表所示。由表中数据可以看出,两个程序共耗时 40 s,其中 CPU 运行时间为 40 s,故此时的 CPU 的利用率为 4040=100。【知识模块】 处理机调度与死锁31 【正确答案】 死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;产生死锁的必要条件是互斥条件、请求和保持条件、不剥夺条件和环路等待条件。解决死锁可归纳为四种方法:预防死锁,避免死锁,检测死锁和解除死锁。其中,预防死锁是最容易实现的,而避免死锁的发生则可以使资源的利用率最
36、高。【试题解析】 死锁作为在现代操作系统中引入多道程序设计技术之后,出现了进程之间因为争抢资源和系统资源分配不当造成的进程与系统僵死的现象,这个现象如果不解决,会严重损害系统的吞吐能力并可能引起系统故障。【知识模块】 处理机调度与死锁32 【正确答案】 做法一:如果系统当前存在的资源数量能够满足进程的资源需要,便一次性地为进程分配其所需的全部资源;在该进程完成之后再一次性地回收全部资源。这个做法被称作摒弃“请求和保持” 条件,该方法可以预防死锁。做法二:当系统中某些进程在已经占有一定数量资源的情况下,又提出新的资源请求时,操作系统不能立即满足该进程的需求时,该进程必须立即释放它已经占有和保持的
37、所有资源,待以后需要时再重新申请;这种可以剥夺进程资源的做法,可以有效地防止死锁的产生。被称作摈弃“不剥夺” 条件。做法三:就是采用一定的方法,将所有可提供的资源按类型排序编号,所有进程对资源的请求也必须严格按序号递增的次序提出,避免产生资源占有和资源需求的回路出现,造成死锁的产生。此方法也被称作摈弃“环路等待” 条件。【试题解析】 死锁作为在现代操作系统中引入多道程序设计技术之后,出现了进程之间因为争抢资源和系统资源分配不当造成的进程与系统僵死的现象,这个现象如果不解决,会严重损害系统的吞吐能力并可能引起系统故障。【知识模块】 处理机调度与死锁33 【正确答案】 可以。首先,RequestO
38、(0 ,1,0)=NeedO(7,4,3) ,RequestO(0,1,0)=AVailable(2 ,3,0);分配后可修改得一资源数据表 (表略),进行安全性检查,可以找到一个安全序列P1,P4,P3,P2 ,P0 ,或P1,P4,P3,P0 ,P2,因此,系统是安全的,可以立即将资源分配给 P0。【试题解析】 由于死锁会导致系统僵死,作为在现代操作系统中引入多道程序设计技术之后,出现了进程之间因为争抢资源和系统资源分配不当造成的进程与系统僵死的现象,这个现象如果不解决,会严重损害系统的吞吐能力并可能引起系统故障。【知识模块】 处理机调度与死锁34 【正确答案】 用户进程进入临界区时屏蔽所有中断,也涉及包括系统程序。假如屏蔽的是用户进程,确实可以保护临界资源,但如果连系统所发出的中断也被屏蔽的话,就会引起系统错误。虽然系统外中断往往与当前运行的程序无关,但如果是一些重要的硬件中断,如电源故障等,就可能会引起错误,故不可盲目屏蔽所有中断。【试题解析】 此题主要考查中断概念在操作系统设计过程中的重要作用与临界区的概念。【知识模块】 处理机调度与死锁
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1