【考研类试卷】考研操作系统-进程管理(六)及答案解析.doc

上传人:livefirmly316 文档编号:1388560 上传时间:2019-12-03 格式:DOC 页数:29 大小:240.50KB
下载 相关 举报
【考研类试卷】考研操作系统-进程管理(六)及答案解析.doc_第1页
第1页 / 共29页
【考研类试卷】考研操作系统-进程管理(六)及答案解析.doc_第2页
第2页 / 共29页
【考研类试卷】考研操作系统-进程管理(六)及答案解析.doc_第3页
第3页 / 共29页
【考研类试卷】考研操作系统-进程管理(六)及答案解析.doc_第4页
第4页 / 共29页
【考研类试卷】考研操作系统-进程管理(六)及答案解析.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、考研操作系统-进程管理(六)及答案解析(总分:160.00,做题时间:90 分钟)一、B单项选择题/B(总题数:35,分数:70.00)1.设与某资源关联的信号量(K)初值为 3,当前值为 1。若 M 表示该资源的可用个数,N 表示等待该资源的进程数,则 M、N 分别是U /U。 A.0、1 B.1、0 C.1、2 D.2、0(分数:2.00)A.B.C.D.2.假设具有 5 个进程的进程集合 P=P0,P1,P2,P3,P4,系统中有三类资源 A、B、C,假设在某时刻有如下状态,见表 2-20。 表 2-20 进程状态Allocation Max AvailableA B C A B C A

2、 B CP0 0 0 3 0 0 4 x y zP1 1 0 0 1 7 5P2 1 3 5 2 3 5P3 0 0 2 0 6 4P4 0 0 1 0 6 5请问当 x、y、z 取下列哪些值时,系统是处于安全状态的?1,4,0 0,6,21,1,1 0,4,7 A.、 B.、 C.只有 D.、(分数:2.00)A.B.C.D.3.死锁检测时检查的是U /U。 A.资源有向图 B.前驱图 C.搜索树 D.安全图(分数:2.00)A.B.C.D.4.同一程序经过多次创建,运行在不同的数据集上,形成了U /U的进程。 A.不同 B.相同 C.同步 D.互斥(分数:2.00)A.B.C.D.5.在用

3、信号量机制实现互斥时,互斥信号量的初值为U /U。 A.0 B.1 C.2 D.3(分数:2.00)A.B.C.D.6.在任何时刻,一个进程的状态变化U /U引起另一个进程的状态变化。 A.必定 B.一定不 C.不一定 D.不可能(分数:2.00)A.B.C.D.7.采用资源剥夺法可以解除死锁,还可以采用U /U方法解除死锁。 A.执行并行操作 B.撤销进程 C.拒绝分配新资源 D.修改信号量(分数:2.00)A.B.C.D.8.以下U /U属于临界资源。 A.磁盘存储介质 B.公用队列结构 C.私用数据 D.可重入的程序代码(分数:2.00)A.B.C.D.9.有两个并发执行的进程 P1 和

4、进程 P2,共享初值为 1 的变量 x。P1 对 x 加 1,P2 对 x 减 1。加 1 和减 1操作的指令序列分别如下:(分数:2.00)A.B.C.D.10.以下关于管程的叙述错误的是U /U。 A.管程是进程同步工具,解决信号量机制大量同步操作分散的问题 B.管程每次只允许一个进程进入管程 C.管程中的 signal 操作的作用和信号量机制中的 V 操作相同 D.管程是被进程调用的,管程是语法范围,无法创建和撤销(分数:2.00)A.B.C.D.11.死锁的四个必要条件中,无法破坏的是U /U。 A.环路等待资源 B.互斥使用资源 C.占有且等待资源 D.非抢夺式分配(分数:2.00)

5、A.B.C.D.12.下列对临界区的论述中,正确的是U /U。 A.临界区是指进程中用于实现进程互斥的那段代码 B.临界区是指进程中用于实现进程同步的那段代码 C.临界区是指进程中用于实现进程通信的那段代码 D.临界区是指进程中用于访问共享资源的那段代码(分数:2.00)A.B.C.D.13.若一个进程实体由 PCB、共享正文段、数据段和堆栈段组成,请指出下列 C 语言程序中的内容及相关数据结构各位于哪一段中。 全局赋值变量U /U 未赋值的局部变量U /U 函数调用实参传递值U /U 用 mallocU /U要求动态分配的存储区U /U 常量值(如 1995,“string”)U /U进程的

6、优先级U /U APCB B正文段 C堆段 D栈段(分数:2.00)填空项 1:_14.有两个优先级相同的并发程序 P1 和 P2,它们的执行过程如下所示。假设,当前信号量 s1=0,s2=0。当前的 z=2,进程运行结束后,x、y 和 z 的值分别是U /U。(分数:2.00)A.B.C.D.15.在一个多道系统中,就绪的进程数目越多,处理器的效率U /U。 A.越高 B.越低 C.不变 D.不确定(分数:2.00)A.B.C.D.16.出现下列的情况可能导致死锁的是U /U。 A.进程释放资源 B.一个进程进入死循环 C.多个进程竞争资源出现了循环等待 D.多个进程竞争使用共享型的设备(分

7、数:2.00)A.B.C.D.17.在以下捕述中,U /U并不是多线程系统的特长。 A.利用线程并行地执行矩阵乘法运算 B.Web 服务器利用线程响应 HTTP 请求 C.键盘驱动程序为每一个正在运行的应用配备一个线程,用以响应该应用的键盘输入 D.给予 GUI 的调试程序用不同的线程分别处理用户输入、计算和跟踪等操作(分数:2.00)A.B.C.D.18.一个进程有程序、数据及 PCB 组成,其中U /U必须用可重入编码编写。 A.PCB B.程序 C.数据 D.共享程序段(分数:2.00)A.B.C.D.19.在操作系统中,P、V 操作是一种U /U。 A.机器指令 B.系统调用命令 C.

8、作业控制命令 D.低级进程通信原语(分数:2.00)A.B.C.D.20.U /U定义了共享数据结构和各种进程在该数据结构上的全部操作。 A.管程 B.类程 C.线程 D.程序(分数:2.00)A.B.C.D.21.死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的四个必要条件之一。下列方法中破坏了“循环等待”条件的是U /U。 A.银行家算法 B.一次性分配策略 C.剥夺资源法 D.资源有序分配策略(分数:2.00)A.B.C.D.22.以下可能导致一个进程从运行状态变为就绪状态的事件是U /U。 A.一次 I/O 操作结束 B.运行进程需做 I/O 操作 C.运行进程结

9、束 D.出现了比现在进程优先级更高的进程(分数:2.00)A.B.C.D.23.系统的资源分配图在下列情况中,无法判断是否处于死锁的情况有U /U。出现了环路 没有环路每种资源只有一个,并出现环路 每个进程节点至少有一条请求边 A.、 B.、 C.、 D.以上答案都不正确(分数:2.00)A.B.C.D.24.三个进程共享四个同类资源,这些资源的分配与释放只能一次一个。已知每一个进程最多需要两个该类资源,则该系统U /U。 A.有些进程可能永远得不到该类资源 B.必然有死锁 C.进程请求该类资源立刻能得到 D.必然是死锁(分数:2.00)A.B.C.D.25.下列调度算法中,U /U调度算法是

10、绝对可抢占的。 A.先来先服务 B.时间片轮转 C.优先级 D.短进程优先(分数:2.00)A.B.C.D.26.在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是U /U。 A.进程 P 的代码段 B.进程 P 中打开的文件 C.进程 P 的全局变量 D.进程 P 中某线程的栈指针(分数:2.00)A.B.C.D.27.进程 P0 和进程 P1 的共享变量定义及其初值为:若进程 P0 和进程 P1 访问临界资源的类 C 代码实现如下:(分数:2.00)A.B.C.D.28.下列几种关于进程的叙述,U /U最不符合操作系统对进程的理解。 A.进程是在多程序环境中的完整的程序 B.进程

11、可以由程序、数据和 PCB 描述 C.线程(Thread)是一种特殊的进程 D.进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单元(分数:2.00)A.B.C.D.29.有 5 个批处理作业 A、B、C、D、E 几乎同时到达,其预计运行时间分别为 10、6、2、4、8,其优先级(由外部设定)分别为 3、5、2、1、4,这里 5 为最高优先级。以下各种调度算法中,平均周转时间为 14的是U /U调度算法。 A.时间片轮转 B.优先级调度 C.先来先服务(按照顺序 10、6、2、4、8) D.短作业优先(分数:2.00)A.B.C.D.30.一个进程释放了一台打印机后,

12、有可能改变U /U的状态。 A.自身进程 B.输入/输出进程 C.另一个等待打印机的进程 D.所有等待打印机的进程(分数:2.00)A.B.C.D.31.某个系统采用下列资源分配策略。如果一个进程提出资源请求得不到满足,而此时没有由于等待资源而被阻塞的进程,则自己就被阻塞。而当此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。这种分配策略会导致U /U。 A.死锁 B.颠簸 C.回退 D.饥饿(分数:2.00)A.B.C.D.32.下列关于临界区和临界资源的说法正确的有U /U。银行家算法可以用来解决临界区(C

13、ritical Section)问题。临界区是指进程中用于实现进程互斥的那段代码。公用队列属于临界资源。私用数据属于临界资源。 A.、 B.、 C.只有 D.以上答案都错误(分数:2.00)A.B.C.D.33.以下不是同步机制应遵循的准则的是U /U。 A.让权等待 B.空闲让进 C.忙则等待 D.无限等待(分数:2.00)A.B.C.D.34.在下面的叙述中,正确的是U /U。 A.引入线程后,处理器只能在线程间切换 B.引入线程后,处理器仍在进程间切换 C.线程的切换,不会引起进程的切换 D.线程的切换,可能引起进程的切换(分数:2.00)A.B.C.D.35.假设系统中所有进程是同时到

14、达,则使进程平均周转时间最短的是U /U调度算法。 A.先来先服务 B.短进程优先 C.时间片轮转 D.优先级(分数:2.00)A.B.C.D.二、B二综合应用题/B(总题数:3,分数:90.00)有桥如图 2-12 所示。车流方向如箭头所示。回答如下问题:(分数:10.00)(1).假设该桥上每次只能有一辆车行驶,试用信号灯的 P、V 操作实现交通管理。(分数:5.00)_(2).假设该桥上不允许两车交会,但允许同方向多个车一次通过(即桥上可有多个同方向行驶的车)。试用信号灯的 P、V 操作实现桥上交通管理。(分数:5.00)_有三个作业 A、B、C,它们分别单独运行时的 CPU 和 I/O

15、 占用时间如图 2-7 所示。现在请考虑三个作业同时开始执行。系统中的资源有一个 CPU 和两台输入/输出设备(I/O1 和 I/O2)同时运行。三个作业的优先级为 A 最高、B 次之、C 最低,一旦低优先级的进程开始占用 CPU,则高优先级进程也要等待其结束方可占用CPU,请回答下面的问题:(分数:55.00)(1).最早结束的作业是哪个?(分数:5.00)_(2).最后结束的作业是哪个?(分数:5.00)_(3).计算这段时间 CPU 的利用率(三个作业全部结束为止)?(分数:5.00)_(4).设自行车生产线上有一只箱子,其中有 N 个位置(N3),每个位置可存放一个车架或一个车轮;又设

16、有三个工人,其活动分别为: (分数:5.00)_(5).假定要在一台处理器上执行表 2-7 所示的作业,且假定这些作业在时刻 0 以 1、2、3、4、5 的顺序到达。说明分别使用 FCFS、RR(时间片=1)、SJF 以及非剥夺式优先级调度算法时,这些作业的执行情况。针对上述每种调度算法,给出平均周转时间和平均带权周转时间,见表 2-7。 表 2-7 系统作业情况作业 执行时间 优先级1 10 32 1 13 2 34 1 45 5 2(分数:5.00)_(6).何谓管程?管程由几部分组成?说明引入管程的必要性。(分数:5.00)_(7).设有 4 个作业 J1、J2、J3、J4,它们的到达时

17、间和计算时间见表 2-12。若这 4 个作业在一台处理器上按单道方式运行,采用高响应比优先调度算法,试写出各作业的执行顺序、各作业的周转时间及平均周转时间。 表 2-12 作业的到牵连时间和计算时间作业 到达时间 计算时间J1 8:00 2hJ2 8:30 40minJ3 9:00 25minJ4 9:30 30min(分数:5.00)_(8).将一组进程分为 4 类,如图所示。各类进程之间采用优先级调度算法,而各类进程的内部采用时间片轮转调度算法。请简述 P1、P2、P3、P4、P5、P6、P7、P8 进程的调度过程。 (分数:5.00)_(9).如图 2-11 所示,三个合作进程 P1、P

18、2、P3,它们都需要通过同一设备输入各自的数据 a、b、c,该输入设备必须互斥地使用,而且其第一个数据必须由 P1 进程读取,第二个数据必须由 P2 进程读取,第三个数据则必须由 P3 进程读取。然后,三个进程分别对输入数据进行下列计算: (分数:5.00)_(10).假设具有 5 个进程的进程集合 P=P0,P1,P2,P3,P4,系统中有三类资源 A、B、C,假设在某时刻有如下状态: (分数:5.00)_(11).某寺庙,有小和尚、老和尚若干,有一水缸,由小和尚提入水缸供老和尚饮用。水缸可容 10 桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为 3 个。每次入取缸水仅为

19、1 桶水,且不可同时进行。试给出有关从缸取水、入水的算法描述。(分数:5.00)_有三个进程 P1、P2 和 P3 并发工作。进程 P1 需要资源 S3 和资源 S1;进程 P2需要资源 S2 和资源 S1;进程 P3 需要资源 S3 和资源 S2。问:(分数:25.00)(1).若对资源分配不加限制,会发生什么情况?为什么?(分数:5.00)_(2).为保证进程正确运行,应采用怎样的分配策略?列出所有可能的方法。(分数:5.00)_(3).某系统有 R1、R2 和 R3 共三种资源,在 T0 时刻 P1、P2、P3 和 P4 这四个进程对资源的占用和需求情况见表 2-24,此时系统的可用资源

20、矢量为(2,1,2)。试问: (分数:5.00)_(4).设有进程 P1 和进程 P2 并发执行,都需要使用资源 rl 和 r2,使用资源的情况见表 2-22。 表 2-22 资源使用情况进程 P1 进程 P2申请资源 r1 申晴资源 r2申清资源 r2 申请资源 r1释放资源 r1 释放资源 r2试判断是否会发生死锁,并加以解释及说明产生死锁的原因和必要条件。(分数:5.00)_(5).两个进程 A 和 B,每一个进程都需要读取数据库中的记录 1、2、3。假如这两个进程都以 1、2、3 的次序请求读取记录,系统将不会发生死锁。但如果 A 以 3、2、1 的次序读取记录,B 以 1、2、3 的

21、次序读取记录,则死锁可能会发生。试计算:两个进程读取记录的次序如果不确定,那么系统保证不发生死锁的概率是多少?(分数:5.00)_考研操作系统-进程管理(六)答案解析(总分:160.00,做题时间:90 分钟)一、B单项选择题/B(总题数:35,分数:70.00)1.设与某资源关联的信号量(K)初值为 3,当前值为 1。若 M 表示该资源的可用个数,N 表示等待该资源的进程数,则 M、N 分别是U /U。 A.0、1 B.1、0 C.1、2 D.2、0(分数:2.00)A.B. C.D.解析:信号量表示当前的可用相关资源数。当信号量 K0 时,表示还有 K 个相关资源可用;而当信号量K0 时,

22、表示有|K|个进程在等待该资源。所以该资源可用数是 1,等待该资源的进程数是 0。2.假设具有 5 个进程的进程集合 P=P0,P1,P2,P3,P4,系统中有三类资源 A、B、C,假设在某时刻有如下状态,见表 2-20。 表 2-20 进程状态Allocation Max AvailableA B C A B C A B CP0 0 0 3 0 0 4 x y zP1 1 0 0 1 7 5P2 1 3 5 2 3 5P3 0 0 2 0 6 4P4 0 0 1 0 6 5请问当 x、y、z 取下列哪些值时,系统是处于安全状态的?1,4,0 0,6,21,1,1 0,4,7 A.、 B.、

23、C.只有 D.、(分数:2.00)A.B.C. D.解析:Need=Max-Allocation =004,175,235,064,065-003,100,135,002,001 =001,075,100,062,064 :根据 need 矩阵可知,当 Available 为(1,4,0),可满足 P2 的需求;P2 结束后释放资源,Available 为(2,7,5)可以满足 P0、P1、P3、P4 中任一进程的需求,所以系统不会出现死锁,处于安全状态。 :当 Available 为(0,6,2),可以满足进程 P0、P3 的需求;这两个进程结束后释放资源,Available 为(0,6,7

24、),仅可以满足进程 4 的需求;P4 结束释放后,Available 为(0,6,8),此时不能满足余下任一进程的需求,系统出现死锁,故当前处在非安全状态。 :当Available 为(1,1,1),可以满足进程 P0、P2 的需求;这两个进程结束后释放资源,Available 为(2,3,8),此时不能满足余下任一进程的需求,系统出现死锁,处于非安全状态。 :当 Available 为(0,4,7),可以满足 P0 的需求,进程结束后释放资源,Available 为(0,4,11),此时不能满足余下任一进程的需求,系统出现死锁,处于非安全状态。 综上分析只有处于安全状态。3.死锁检测时检查的

25、是U /U。 A.资源有向图 B.前驱图 C.搜索树 D.安全图(分数:2.00)A. B.C.D.解析:死锁检测一般采用两种方法:资源有向图法和资源矩阵法。前驱图只是说明进程之间的同步关系,搜索树用于数据结构的分析,安全图并不存在。4.同一程序经过多次创建,运行在不同的数据集上,形成了U /U的进程。 A.不同 B.相同 C.同步 D.互斥(分数:2.00)A. B.C.D.解析:进程是程序在一个数据集上的运行过程,运行于不同的数据集,将会形成不同的进程,它们是否具有同步或互斥关系,与具体的执行任务有关。5.在用信号量机制实现互斥时,互斥信号量的初值为U /U。 A.0 B.1 C.2 D.

26、3(分数:2.00)A.B. C.D.解析:互斥信号量初值为 1,P 操作成功则将其清“0”,V 操作成功则将其置“1”。6.在任何时刻,一个进程的状态变化U /U引起另一个进程的状态变化。 A.必定 B.一定不 C.不一定 D.不可能(分数:2.00)A.B.C. D.解析:一个进程的状态变化可能会引起另一个进程的状态变化。例如,一个进程时间片用完,会引起另一个就绪进程的运行。同时,一个进程的状态变化也可能不会引起另一个进程的状态变化。例如,一个进程由阻塞状态转变为就绪状态就不会引起其他进程的状态变化。7.采用资源剥夺法可以解除死锁,还可以采用U /U方法解除死锁。 A.执行并行操作 B.撤

27、销进程 C.拒绝分配新资源 D.修改信号量(分数:2.00)A.B. C.D.解析:资源剥夺法允许一个进程强行剥夺其他进程所占有的系统资源。而撤销进程是强行释放一个进程己占有的系统资源,与资源剥夺法同理,都是通过破坏死锁的“请求和保持”条件来解除死锁。拒绝分配新资源只能维持死锁的现状,无法解除死锁。8.以下U /U属于临界资源。 A.磁盘存储介质 B.公用队列结构 C.私用数据 D.可重入的程序代码(分数:2.00)A.B. C.D.解析:公用队列可供多个进程使用,但一次只可有一个程序使用,私用数据仅供一个进程使用,不存在临界区问题,可重入的程序代码一次可供多个进程使用。9.有两个并发执行的进

28、程 P1 和进程 P2,共享初值为 1 的变量 x。P1 对 x 加 1,P2 对 x 减 1。加 1 和减 1操作的指令序列分别如下:(分数: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 选项。10.以下关于管程的叙述错误的是U /U。 A.管程是进程同步工具,解决信号量机制大量同步操作分散的问题 B.管程每次只允许一个进程进入管程 C.管程中的 signal 操作

29、的作用和信号量机制中的 V 操作相同 D.管程是被进程调用的,管程是语法范围,无法创建和撤销(分数:2.00)A.B.C. D.解析:管程的 signal 操作与信号量机制中的 V 操作不同,前者必须在 wait 操作之后。11.死锁的四个必要条件中,无法破坏的是U /U。 A.环路等待资源 B.互斥使用资源 C.占有且等待资源 D.非抢夺式分配(分数:2.00)A.B. C.D.解析:所谓破坏互斥使用资源,指允许多个进程同时访问资源,但有些资源根本不能同时访问,如打印机只能互斥使用。所以,破坏互斥条件而预防死锁的方法不太可行,而且在有的场合应该保护这种互斥性。其他三个条件都可以实现。12.下

30、列对临界区的论述中,正确的是U /U。 A.临界区是指进程中用于实现进程互斥的那段代码 B.临界区是指进程中用于实现进程同步的那段代码 C.临界区是指进程中用于实现进程通信的那段代码 D.临界区是指进程中用于访问共享资源的那段代码(分数:2.00)A.B.C.D. 解析:多个进程可以共享系统中的资源,一次仅允许一个进程使用的资源叫临界资源。访问临界资源的那段代码称为临界区。13.若一个进程实体由 PCB、共享正文段、数据段和堆栈段组成,请指出下列 C 语言程序中的内容及相关数据结构各位于哪一段中。 全局赋值变量U /U 未赋值的局部变量U /U 函数调用实参传递值U /U 用 mallocU

31、/U要求动态分配的存储区U /U 常量值(如 1995,“string”)U /U进程的优先级U /U APCB B正文段 C堆段 D栈段(分数:2.00)填空项 1:_ (正确答案:BDDCBAC)解析:语言编写的程序在使用内存时一般分为三个段,它们一般是正文段,即代码和赋值数据段、数据堆段和数据栈段。二进制代码和常量存放在正文段,动态分配的存储区在数据堆段,临时使用的变量在数据栈段。由此,我们可以确定全局赋值变量在正文段,未赋值的局部变量和实参传递在栈段,动态内存分配在堆段,常量在正文段,进程的优先级只能在 PCB 内。14.有两个优先级相同的并发程序 P1 和 P2,它们的执行过程如下所

32、示。假设,当前信号量 s1=0,s2=0。当前的 z=2,进程运行结束后,x、y 和 z 的值分别是U /U。(分数: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 继续运行

33、到结束,最终的x、y、z 值分别为 5、12、9。15.在一个多道系统中,就绪的进程数目越多,处理器的效率U /U。 A.越高 B.越低 C.不变 D.不确定(分数:2.00)A.B.C. D.解析:从进程的状态图中可以看出,进程的就绪数目越多,争夺 CPU 的进程就越多,但是,只要就绪队列不为空,CPU 总是可以调度进程运行,保持繁忙。这与就绪进程的数目没有关系,除非就绪队列为空,则CPU 进入等待状态,此时 CPU 的效率会下降。16.出现下列的情况可能导致死锁的是U /U。 A.进程释放资源 B.一个进程进入死循环 C.多个进程竞争资源出现了循环等待 D.多个进程竞争使用共享型的设备(分

34、数:2.00)A.B.C. D.解析:引起死锁的四个必要条件是:互斥、占有并等待、非剥夺和循环等待。本题中,出现了循环等待的现象,意味着可能导致死锁的出现。进程释放资源不会导致死锁,进程自己进入死循环只能产生“饥饿”,不涉及别的进程。共享型设备允许多个进程申请使用,故不会造成死锁。17.在以下捕述中,U /U并不是多线程系统的特长。 A.利用线程并行地执行矩阵乘法运算 B.Web 服务器利用线程响应 HTTP 请求 C.键盘驱动程序为每一个正在运行的应用配备一个线程,用以响应该应用的键盘输入 D.给予 GUI 的调试程序用不同的线程分别处理用户输入、计算和跟踪等操作(分数:2.00)A.B.C

35、. D.解析:整个系统只有一个键盘,而且键盘输入是人的操作,速度比较慢,完全可以使用一个线程来处理整个系统的键盘输入。18.一个进程有程序、数据及 PCB 组成,其中U /U必须用可重入编码编写。 A.PCB B.程序 C.数据 D.共享程序段(分数:2.00)A.B.C.D. 解析:共享程序段可能同时被多个进程使用,所以必须可重入编码,否则无法实现共享的功能。19.在操作系统中,P、V 操作是一种U /U。 A.机器指令 B.系统调用命令 C.作业控制命令 D.低级进程通信原语(分数:2.00)A.B.C.D. 解析:P、V 操作时一种低级的进程通信原语,它是不能被中断的。20.U /U定义

36、了共享数据结构和各种进程在该数据结构上的全部操作。 A.管程 B.类程 C.线程 D.程序(分数:2.00)A. B.C.D.解析:管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。21.死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的四个必要条件之一。下列方法中破坏了“循环等待”条件的是U /U。 A.银行家算法 B.一次性分配策略 C.剥夺资源法 D.资源有序分配策略(分数:2.00)A.B.C.D. 解析:资源有序分配策略可以限制循环等待条件的发生。22.以下可能导致一个进程从运行状态变为就绪状态的事件是U

37、 /U。 A.一次 I/O 操作结束 B.运行进程需做 I/O 操作 C.运行进程结束 D.出现了比现在进程优先级更高的进程(分数:2.00)A.B.C.D. 解析:进程处于运行状态时,它必须已获得所需资源,在运行结束后就撤销。只有在时间片到或出现了比现在进程优先级更高的进程时才转变成就绪状态。23.系统的资源分配图在下列情况中,无法判断是否处于死锁的情况有U /U。出现了环路 没有环路每种资源只有一个,并出现环路 每个进程节点至少有一条请求边 A.、 B.、 C.、 D.以上答案都不正确(分数:2.00)A.B.C. D.解析:本题难点主要在于区分资源分配图中的环路和系统状态的环路之间的关系

38、。资源分配图中的环路通过分配资源,是可以消除的,即消边。而系统状态图中的环路其实就是死锁。两者的关系其实可以理解为资源分配图通过简化(消边)后就是系统状态图。如果资源分配图中不存在环路,则系统状态图无环路,则无死锁;故确定不会发生死锁。反之,如果资源分配图中存在环路,经过简化(消边)后,则系统状态图中可能存在环路,也可能不存在环路。根据资源分配图算法,如果每一种资源类型只有一个实例且出现环路,那么无法简化(消边),死锁发生,故可以确定死锁发生。剩下和都不能确定,因为它们的资源分配图中虽然存在环路,但是不能确定是否可以简化成无环路的系统状态图。所以选择 C 选项。24.三个进程共享四个同类资源,

39、这些资源的分配与释放只能一次一个。已知每一个进程最多需要两个该类资源,则该系统U /U。 A.有些进程可能永远得不到该类资源 B.必然有死锁 C.进程请求该类资源立刻能得到 D.必然是死锁(分数:2.00)A.B.C. D.解析:不会发生死锁。因为每个进程都分得一个资源时,还有一个资源可以让任意一个进程满足,这样这个进程可以顺利运行完成进而释放它的资源。25.下列调度算法中,U /U调度算法是绝对可抢占的。 A.先来先服务 B.时间片轮转 C.优先级 D.短进程优先(分数:2.00)A.B. C.D.解析:时间片轮转算法是按固定的时间配额来运行,时间一到不管是否完成,当前的进程必须撤下,调度新

40、的进程,因此它是由时间配额决定的、是绝对可抢占的。26.在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是U /U。 A.进程 P 的代码段 B.进程 P 中打开的文件 C.进程 P 的全局变量 D.进程 P 中某线程的栈指针(分数:2.00)A.B.C.D. 解析:进程中的线程共享进程内的全部资源,但进程中某线程的栈指针,对其他线程是透明的,不能与其他线程共享。27.进程 P0 和进程 P1 的共享变量定义及其初值为:若进程 P0 和进程 P1 访问临界资源的类 C 代码实现如下:(分数:2.00)A.B.C.D. 解析:此算法实现互斥的主要思想在于设置了一个 turn 变量,用于进程问的互相“谦让”。 一般情况下,如果进程 P0 试图访问临界资源,设置 flag0=true,表示希望访问。此时如果进程 P1 还未试图访问临界资源,则 flag1在进程上一次访问完临界资源退出临界区后已设置为 false。所以进程 P0 在执行循环判断条件时,第一个条件不满足,进程 P0 可以正常进入临界区,且满足互斥条件。 我们需要考虑的是,两个进程同时试图访问临界资源的情况

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1