考研操作系统 进程管理二.docx
《考研操作系统 进程管理二.docx》由会员分享,可在线阅读,更多相关《考研操作系统 进程管理二.docx(114页珍藏版)》请在冰豆网上搜索。
考研操作系统进程管理二
考研操作系统-进程管理
(二)
(总分:
639.00,做题时间:
90分钟)
一、单项选择题(总题数:
141,分数:
284.00)
1.进程在处理器上执行时()。
(分数:
2.00)
A.进程之间是无关的,具有封闭特性
B.进程之间都是有交互性,相互依赖、相互制约,具有并发性
C.具有并发性,即同时执行的特性
D.进程之间可能是无关的,但也可能是有交互性的√
解析:
封闭性、并发性都是有条件的,如单任务单进程系统中进程就无并发性。
2.有5个批处理作业A、B、C、D、E几乎同时到达,其预计运行时间分别为10、6、2、4、8,其优先级(由外部设定)分别为3、5、2、1、4,这里5为最高优先级。
以下各种调度算法中,平均周转时间为14的是()调度算法。
(分数:
2.00)
A.时间片轮转
B.优先级调度
C.先来先服务(按照顺序10、6、2、4、8)
D.短作业优先√
解析:
当这5个批处理作业采用短作业优先调度算法时,其平均周转时间=[2+(2+4)+(2+4+6)+(2+4+6+8)+(2+4+6+8+10)]/5=14。
3.一个进程的基本状态可以从其他两种基本状态转变过去,这个基本的状态一定是()。
(分数:
2.00)
A.执行状态
B.阻塞状态
C.就绪状态√
D.完成状态
解析:
只有就绪状态可以既由运行状态转变过去也能由阻寨状态转变过去。
时间片到运行状态变为就绪状态,当所需要资源到达进程由阻塞状态转变为就绪状态。
4.下列选项中,导致创建新进程的操作是()。
Ⅰ.用户登录成功Ⅱ.设备分配Ⅲ.启动程序执行
(分数:
2.00)
A.仅Ⅰ和Ⅱ
B.仅Ⅱ和Ⅲ
C.仅Ⅰ和Ⅲ√
D.Ⅰ、Ⅱ、Ⅲ
解析:
设备分配可能引起进程状态的改变,不会创建新进程(对应的设备驱动进程一般处于阻塞状态),而用户登录成功和启动程序执行都会创建新的进程。
5.进程之间交换数据不能通过()途径进行。
(分数:
2.00)
A.共享文件
B.消息传递
C.访问进程地址空间√
D.访问共享存储区
解析:
进程代表运行中的程序,操作系统将资源分配给进程,进程是参加资源分配的主体。
每个进程包含独立的地址空间,只能执行自己地址空间中的程序,且只能访问自己地址空间中的数据,因此,进程之间不能直接交换数据,但可以利用操作系统提供的共享文件、消息传递、共享存储区等进行通信。
6.死锁的四个必要条件中,无法破坏的是()。
(分数:
2.00)
A.环路等待资源
B.互斥使用资源√
C.占有且等待资源
D.非抢夺式分配
解析:
所谓破坏互斥使用资源,指允许多个进程同时访问资源,但有些资源根本不能同时访问,如打印机只能互斥使用。
所以,破坏互斥条件而预防死锁的方法不太可行,而且在有的场合应该保护这种互斥性。
其他三个条件都可以实现。
7.下面的叙述中,正确的是()。
(分数:
2.00)
A.进程获得处理器运行是通过调度得到的√
B.优先级是进程调度的重要依据,一旦确定不能改动√
C.在单处理器系统中,任何时刻都只有一个进程处于运行状态
D.进程申请处理器而得不到满足时,其状态变为阻塞状态
解析:
选项错在优先级分静态和动态两种,动态的优先级是根据运行情况而随时调整的。
C选项错在系统发生死锁时则有可能进程全部都处于阻塞状态。
D选项错在进程申请处理器得不到满足时就处于就绪状态,等待处理器的调度。
8.通常用户进程被建立后()。
(分数:
2.00)
A.便一直存在于系统中,直到被操作人员撤销
B.随着进程运行的正常或不正常结束而撤销√
C.随着时间片轮转而撤销与建立
D.随着进程的阻塞或者唤醒而撤销与建立
解析:
进程不会一直存在于系统中,也不一定需要用户显式地撤销。
进程在时间片结束时只是阻塞,而不是撤销。
阻塞和唤醒是进程生存期的中间状态。
9.某一系统中,测得其处理器的利用率为1%,I/O的利用率为1%,就绪队列中有进程2个,阻塞队列中有进程31个,此时系统出现异常,则表明系统中有进程()。
(分数:
2.00)
A.空闲
B.饥饿
√死锁C.
抖动D.解析:
死锁是一种互相争夺资源而引起的阻塞现象,它发生在两个或两个以上的进程之间,可能的原因是利用率I/O资源分配不当和进程推进顺序不当。
本题描述的现象是系统的运行效率低下,处理机利用率和,也不能唤醒,可能的原因是1%)I/O(I/O利用率才均很低,而阻塞队列中进程很多,它们既没有等待的造成了部分死锁。
“饥饿”一般发生在个别进程)(如信号、消息、中断或内存资源等相互等待对方的资源利用I/O中,可以只涉及单独的进程,不应该影响如此多数量的进程。
而抖动时内、外存交互极其频繁,率不会很低,因此,可能的结果是死锁。
。
,此表示等待进入临界区的进程数是(),经过多次PV操作以后当前值为-110.若一个信号量的初值为3
)(分数:
2.00A.1√
B.2
C.3
D.4
操作才能改变其值。
通常,信号量分为互斥量和资解析:
信号量是一个整型的特殊变量,只有初始化和PV时,表,表示临界区只允许一个进程进入,从而实现互斥。
当互斥量等于0源量,互斥量的初值一般为1时,表示临界区中有一个进程,示临界区已经有一个进程进入,临界区外尚无进程等待;当互斥量小于0互斥量的绝对值表示在临界区外等待进入的进程数。
同样的道理,资源信号量初值可以是任意整数,表示时,表示所有资源已经全部用完,而且还有进程正在等待使用该资源,等待可用的资源数,当资源量为0的进程数就是资源量的绝对值。
11.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。
)(分数:
2.00先来先服务A.动态B.短作业C.√静态D.解析:
优先级调度算法分静态和动态两种。
静态优先级在进程创建时确定,之后不再改变。
采取措施实现的。
死锁的避免是根据()12.
2.00)(分数:
A.配置足够的系统资源
B.使进程的推进顺序合理
C.破坏死锁的四个必要条件之一
√D.防止系统进入不安全状态
解析:
死锁避免是在资源动态分配过程中用某些算法加以限制,防止系统进入不安全状态从而避免死锁的发生。
。
当,s2=0s1=0有两个优先级相同的并发程序P1和P2,它们的执行过程如下所示。
假设,当前信号量13.。
z的值分别是()、前的z=2,进程运行结束后,xy和
(分数:
2.00)
A.
B.
√C.
D.
解析:
由于进程并发,所以进程的执行具有不确定性,在P1、P2执行到第一个P、V操作前,应该是相互无关的。
现在考虑第一个对s1的P、V操作,由于进程P2是P(s1)操作,所以它必须等待P1执行完V(s1)操作以后才可继续运行,此时的x、y、z值分别是3、3、4,当进程P1执行完V(s1)以后便在P(s2)上阻塞,此时P2可以运行直到V(s2),此时的x、y、z值分别是5、3、9,进程P1继续运行到结束,最终的x、y、z值分别为5、12、9。
14.作业是用户提交的,进程是由系统自动生成的,除此之外,两者的区别是()。
(分数:
2.00)
A.两者执行不同的程序段
B.前者以用户任务为单位,后者以操作系统控制为单位√
C.前者是批处理的,后者是分时的
D.后者是可并发执行,前者则不同
解析:
作业是从用户角度出发,它是由用户提交以用户任务为单位,进程是从操作系统出发,它由系统生成,是操作系统的资源分配和独立运行的基本单位。
15.以下有关资源分配图的描述中正确的是()。
(分数:
2.00)
A.有向边包括进程指向资源类的分配边和资源类指向进程申请边两类
B.矩形框表示进程,其中圆点表示申请同一类资源的各个进程
C.圆圈节点表示资源类
D.资源分配图是一个有向图,用于表示某时刻系统资源与进程之间的状态√
解析:
在资源分配图中,用圆圈代表一个进程,用矩形框代表一类资源。
由于一种类型的资源可能有多个,用矩形框中的一个点代表一类资源中的一个资源。
从进程到资源的有向边叫请求边,表示该进程申请一个单位的该资源;从资源到进程的边叫分配边,表示该资源已经有一个被分配给了该进程。
由上所述知D选项为正确答案。
16.引入多道程序技术的前提条件之一是系统具有()。
(分数:
2.00)
A.多个CPU
B.多个终端
C.中断功能√
D.分时功能
解析:
多道程序技术要求程序问能实现并发,而并发性的实现需要中断功能的支持。
17.某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机。
该系统可能会发生死锁的K的最小值是()。
(分数:
2.00)
A.2
B.3
C.4√
D.5
解析:
这种题用到组合数学中鸽巢原理的思想,考虑最极端情况,因为每个进程最多需要三台打印机,如果每个进程已经占有了两台打印机,那么只要还有多余的打印机,那么总能满足达到三台的条件。
所以,。
4为K个进程,每个进程有两台打印机,这个情况就是极端情况,K台打印机分给8将.
。
18.P操作可能导致()
)(分数:
2.00进程就绪A.进程结束B.√进程阻塞C.新进程创建D.操作,表示等待某种资源直到可用。
若这种资源暂时不可用,则进程进入阻塞状态。
操作即wait解析:
P。
下列关于临界区和临界资源的说法正确的有()19.问题。
Ⅰ.银行家算法可以用来解决临界区(CriticalSection)Ⅱ.临界区是指进程中用于实现进程互斥的那段代码。
Ⅲ.公用队列属于临界资源。
Ⅳ.私用数据属于临界资源。
2.00)(分数:
A.Ⅰ、ⅡB.Ⅰ、Ⅳ√C.只有ⅢD.以上答案都错误
解析:
临界资源是指每次仅允许一个进程访问的资源。
每个进程中访问临界资源的那段代码称为临界区。
Ⅰ错误,银行家算法是避免死锁的算法。
Ⅱ错误,每个进程中访问临界资源的那段代码称为临界区。
Ⅲ正确,公用队列可供多个进程使用,但一次只可有一个程序使用。
Ⅳ错误,私用数据仅供一个进程使用,不C选项。
存在临界区问题。
综上分析,正确答案为不属于临界资源。
20.以下()
)(分数:
2.00打印机A.√非共享数据B.共享变量C.共享缓冲区D.解析:
临界资源是互斥共享资源,非共享数据不属于临界资源。
打印机、共享变量和共享缓冲区都只允许一次一个进程使用。
的缓冲器的生产者一消费者问题中,互斥使用缓冲器的信号量个消费者共享容量为8在9个生产者、621.()。
初始值为
)(分数:
2.00√A.1
B.6
C.8
D.9
解析:
所谓互斥使用某临界资源,是指在同一时间段只允许一个进程使用此资源,所以互斥信号量的初值1都为。
11和减。
加减对,加对。
的变量,共享初值为和进程有两个并发执行的进程22.P1P21xP1x1P2x1操作的指令序列分别如下:
两个操作完成后,x的值()。
(分数:
2.00)
A.
B.
C.√
D.
解析:
将P1中三条语句变为1,2,3,P2中三条语句编为4,5,6。
则依次执行1,2,3,4,5,6得结果1,依次执行1,2,4,5,6,3得结果2,执行4,5,1,2,3,6得结果0。
结果一1不可能得出,故选C选项。
23.某个系统采用下列资源分配策略。
如果一个进程提出资源请求得不到满足,而此时没有由于等待资源而被阻塞的进程,则自己就被阻塞。
而当此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。
如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。
这种分配策略会导致()。
(分数:
2.00)
A.死锁
B.颠簸
C.回退
D.饥饿√
解析:
本题所给的资源分配策略不会产生死锁。
因为题中的分配策略规定若一个进程的资源得不到满足,则检查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。
从而破坏了产生死锁必要条件中的非剥夺条件,这样系统就不会产生死锁。
但是,这种方法会导致某些进程无限期的等待。
因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所拥有的资源数量在其被唤醒之前只可能减少。
若系统中不断出现其他进程申请资源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型系统且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。
24.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中()不是引起操作系统选择新进程的直接原因。
(分数:
2.00)
A.运行进程的时间片用完
B.运行进程出错
C.运行进程要等待某一事件发生
D.有新进程进入就绪状态√
解析:
运行进程时间片用完,进程运行出错,运行进程阻塞(也就是等待某一事件发生)都会使操作系统选择新进程,但有新进程进入就绪状态不会影响其他进程状态变化。
25.下面说法正确的是()。
(分数:
2.00)
A.不论是系统支持的线程还是用户级线程,其切换都需要内核的支持
B.线程是资源分配的单位,进程是调度和分派的单位
C.不管系统中是否有线程,进程都是拥有资源的独立单位√
D.在引入线程的系统中,进程仍是资源调度和分派的基本单位
解析:
引入线程后,进程仍然是资源分配的单位。
线程是处理器调度和分派的单位,线程本身不具有资源,它可以共享所属进程的全部资源。
.
26.一次分配所有资源的方法可以预防死锁的发生,它破坏的死锁四个必要条件中的()。
(分数:
2.00)
A.互斥
B.占有并请求√
C.非剥夺
D.循环等待
解析:
发生死锁的四个必要条件:
互斥、占有并请求、非剥夺和循环等待。
一次分配所有资源的方法是当进程需要资源时,一次性提出所有的请求,若请求的所有资源均满足则分配,只要有一项不满足,那么不分配任何资源,该进程阻塞,直到所有的资源空闲后,满足了进程的所有需求时再分配。
这种分配方式不会部分地占有资源,所以就打破了死锁的四个必要条件之一,实现了对死锁的预防。
但是,这种分配方式需要凑齐所有资源,所以当一个进程所需的资源比较多时,资源的利用率会比较低,甚至会造成进程的“饥饿”。
27.若一个进程实体由PCB、共享正文段、数据段和堆栈段组成,请指出下列C语言程序中的内容及相关数据结构各位于哪一段中。
Ⅰ.全局赋值变量()Ⅱ.未赋值的局部变量()
Ⅲ.函数调用实参传递值()Ⅳ.用malloc()要求动态分配的存储区()
Ⅴ.常量值(如1995,“string”)()Ⅵ.进程的优先级()
?
A.PCB
?
B.正文段
?
C.堆段
?
D.栈段
(分数:
2.00)
填空项1:
__________________(正确答案:
BDDCBAC)
解析:
语言编写的程序在使用内存时一般分为三个段,它们一般是正文段,即代码和赋值数据段、数据堆段和数据栈段。
二进制代码和常量存放在正文段,动态分配的存储区在数据堆段,临时使用的变量在数据栈段。
由此,我们可以确定全局赋值变量在正文段,未赋值的局部变量和实参传递在栈段,动态内存分配在堆段,常量在正文段,进程的优先级只能在PCB内。
28.并发进程失去封闭性,是指()。
(分数:
2.00)
A.多个相对独立的进程以各自的速度向前推进
B.并发进程的执行结果与速度无关
C.并发进程执行时,在不同时刻发生的错误
D.并发进程共享变量,其执行结果与速度有关√
解析:
程序封闭性是指进程执行的结果只取决于进程本身,不受外界影响。
也就是说,进程在执行过程中不管是不停顿的执行,还是走走停停,进程的执行速度不会改变它的执行结果。
失去封闭性后,不同速度下的执行结果不同。
29.下列关于死锁的说法正确的有()。
Ⅰ.死锁状态一定是不安全状态
Ⅱ.产生死锁的根本原因是系统资源分配不足和进程推进顺序非法
Ⅲ.资源的有序分配策略可以破坏死锁的循环等待条件.
Ⅳ.采用资源剥夺法可以解除死锁,还可以采用撤销进程方法解除死锁
(分数:
2.00)
A.Ⅰ、Ⅱ
B.Ⅱ
C.Ⅳ
D.四个说法都对√
解析:
Ⅰ正确:
根据银行家算法可以得出这个结论。
不安全状态有可能产生死锁,在进程往前推进中,某些进程可能会释放部分资源,使另一些进程得到资源后能顺利执行完成。
Ⅱ正确:
这是产生死锁的两大原因。
Ⅲ正确:
在对资源进行有序分配时,进程间不可能出现环形链,即不会出现循环等待。
Ⅳ正确:
资源剥夺法允许一个进程强行剥夺其他进程所占有的系统资源。
而撤销进程是强行释放一个进程已占有的系统资源,与资源剥夺法同理,都是通过破坏死锁的“请求和保持”条件来解除死锁,所以选择D选项。
30.系统产生死锁的可能原因是()。
(分数:
2.00)
A.共享资源分配不当√
B.系统资源不足
C.进程运行太快
D.CPU内核太多
解析:
系统死锁的可能原因主要是时间上和空间上的。
时间上由于进程运行中推进顺序不当,即调度时机不合适,不该切换进程时进行了切换,可能会造成死锁;空间上的原因是对共享资源分配不当,互斥资源部分分配又不可剥夺,极易造成死锁。
那么,为什么系统资源不足不是造成死锁的原因呢?
系统资源不足只会对进程造成“饥饿”。
例如,某系统只有三台打印机,若进程运行中要申请四台,显然不能满足,该进程会永远等待下去。
如果该进程在创建时便声明需要四台打印机,那么操作系统立即就会拒绝,这实际上是资源分配不当的一种表现。
不能以系统资源不足来描述剩余资源不足的情形。
31.两个合作进程(CooperatingProcesses)无法利用()交换数据。
(分数:
2.00)
A.文件系统
B.共享内存
C.高级语言程序设计中的全局变量√
D.消息传递系统
解析:
不同的进程拥有不同的代码段和数据段,所以虽然是全局变量,但是在不同的进程中是不同的变量,没有任何联系,所以不能用于交换数据。
32.某系统中共有11台磁带机,X个进程共享此磁带机设备,每个进程最多请求使用3台,则系统不会死锁的X值是()。
(分数:
2.00)
A.4
B.5√
C.6
D.7
解析:
考虑一下极端情况,每个进程已经分配了两台磁带机,那么其中任何一个进程只要再分配一台磁带机即可满足它的最大需求,该进程总能运行下去直到结束,然后将磁带机归还给系统再次分配给其他进程使用。
所以,系统中只要满足2X+1=1l这个条件即可认为系统不会死锁,解得X=5,也就是说,系统中最多可以并发5个这样的进程是不会死锁的。
33.进程P1、P2和P3单独执行时间分别为10min、15min和20min,其中处理器占用时间分别为2min、3min和12min。
如果采用多道程序设计技术使其并发,并假设处理器的利用率可以达到60%,加上系统开销5min,那么并发使得计算机系统的效率提高了()。
(分数:
2.00)
A.63%
B.38%
C.74%
D.26%√
解析:
由于本题没有详细描述进程的执行过程,所以,计算是以总体效率来计算的。
总体效率是指并发以后所花费的时间值与原时间值相比提高了多少。
依题意,我们可以计算出:
处理器所需时间为:
f2+3+12)min=17min
按处理器的利用率为60%,并发所需总时间为:
17/60%+5=33.33(min)
单道运行时所需要的总时间是:
10+15+20=45(min)
则系统效率提高了:
(45-33.33)/45=26%
注意,并发时不要忘记系统开销5min。
单道时由于较少需要进程切换,因此系统开销一般忽略不计。
并发时系统要进行大量频繁的进程切换,因此系统开销有时会比较大,此时就应该纳入计算。
34.用V操作唤醒一个等待进程时,被唤醒进程的变为()状态。
(分数:
2.00)
A.运行
B.等待
C.就绪√
D.完成
解析:
只有就绪进程能获得处理器资源,被唤醒的进程并不能直接转换为运行状态。
35.死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的四个必要条件之一。
下列方法中破坏了“循环等待”条件的是()。
(分数:
2.00)
A.银行家算法
B.一次性分配策略
C.剥夺资源法
D.资源有序分配策略√
解析:
资源有序分配策略可以限制循环等待条件的发生。
36.在单处理器系统中,如果同时存在10个进程,则处于就绪队列中的进程最多有()个。
(分数:
2.00)
A.1
B.8
√C.9
D.10
解析:
不可能出现这样一种情况,单处理器系统10个进程都处于就绪状态,但是9个处于就绪状态,一个正在运行是可能存在的。
37.死锁定理是用于处理死锁的()方法。
(分数:
2.00)
A.预防死锁
B.避免死锁
C.检测死锁√
D.解除死锁
解析:
死锁定理是用于检测死锁的方法。
38.原语是()。
(分数:
2.00)
A.运行在用户态的过程
B.操作系统的内核
C.可中断的指令序列
D.不可分割的指令序列√
解析:
原语(Primitive/AtomicAction),顾名思义,就是原子性的、不可分割的操作。
严格定义为:
由若干个机器指令构成的完成某种特定功能的一段程序,其执行必须是连续的,在执行过程中不允许被中断。
39.以下可能导致一个进程从运行状态变为就绪状态的事件是()。
(分数:
2.00)
A.一次I/O操作结束
B.运行进程需做I/O操作
C.运行进程结束
D.出现了比现在进程优先级更高的进程√
解析:
进程处于运行状态时,它必须已获得所需资源,在运行结束后就撤销。
只有在时间片到或出现了比现在进程优先级更高的进程时才转变成就绪状态。
40.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道式运行,则平均周转时间为()。
(分数:
2.00)
A.1h
B.5h√
C.2.5h
D.8h
解析:
4个作业,各执行时间分别是2h、4h、6h、8h,所以4个作业都完成的时间为2+4+6+8=20h。
此时,平均周转时间=各个作业完成时间之和/作业个数=20/4=5小时。
41.有一个计数信号量S:
1)假如若干个进程对S进行了28次P操作和18次V操作之后,信号量S的值为0。
2)假如若干个进程对信号量S进行了15次P操作和2次V操作。
请问此时有多少个进程等待在信号量S的队列中()