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

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

1、考研操作系统-进程管理(三)及答案解析(总分:160.00,做题时间:90 分钟)一、选择题(总题数:24,分数:48.00)1.在单处理机系统中,处于运行状态的进程( )。A只有一个 B可以有多个C不能被挂起 D必须在执行完后才能被撤下(分数:2.00)A.B.C.D.2.一个进程被唤醒意味着( )。A该进程重新占有了 CPU B进程状态变为就绪C它的优先权变为最大 D其 PCB 移至就绪队列的队首(分数:2.00)A.B.C.D.3.进程从运行状态变为等待状态的原因是( )。A输入或输出事件发生 B时间片到C输入或输出事件完成 D某个进程被唤醒(分数:2.00)A.B.C.D.4.操作系统

2、中有一组常称为特殊系统调用,它不能被系统中断,在操作系统中称为( )。A初始化程序 B原语 C子程序 D控制模块(分数:2.00)A.B.C.D.5.进程和程序的本质区别是( )。A存储在内存和外存 B顺序和非顺序执行机器指令C分时使用和独占使用计算机资源 D动态和静态特征(分数:2.00)A.B.C.D.6.下面对临界区的论述中,正确的是( )。A临界区是指进程中用于实现进程互斥的那段代码B临界区是指进程中用于实现进程同步的那段代码C临界区是指进程中用于实现进程通信的那段代码D临界区是指进程中访问临界资源的那段代码(分数:2.00)A.B.C.D.7.下列各项步骤中,( )不是创建进程所必需

3、的步骤?A建立一个进程控制块 PCB B由 CPU 调度程序为进程调度 CPUC为进程分配内存等必要的资源 D将 PCB 链入进程就绪队列(分数:2.00)A.B.C.D.8.进程状态由就绪状态转化到运行状态是由( )引起的。A中断事件 B进程状态转换 C进程调度 D程序被创建为进程(分数:2.00)A.B.C.D.9.进程从运行态到等待态可能是由于( )。A进程调度程序的调度 B现运行进程执行了 P 操作C现运行进程执行了 V 操作 D现运行进程时间片用完(分数:2.00)A.B.C.D.10.一个进程的基本状态可以从其他两种基本状态转变过来,这个基本状态一定是( )。A执行状态 B阻塞状态

4、 C就绪状态 D完成状态(分数:2.00)A.B.C.D.11.进程申请打印输出完成向系统发出中断后,进程的状态变化为( )。A从就绪到执行 B从执行到等待C从等待到就绪 D从执行到就绪(分数:2.00)A.B.C.D.12.下列选项中,降低进程优先级的合理时机是( )。A进程的时间片用完 B进程刚完成 I/O,进入就绪队列C进程长期处于就绪队列中 D进程从就绪状态转为运行态(分数:2.00)A.B.C.D.13.设与某资源关联的信号量初值为 3,当前值为 1。若 M 表示该资源的可用个数,N 表示等待该资源的进程数,则 M、N 分别是( )。A0、1 B1、0 C1、2 D2、0(分数:2.

5、00)A.B.C.D.14.设两个进程共用一个临界资源的互斥信号量 mutex,当 mutex=-1 时表示( )。A一个进程进入了临界区,另一个进程等待B没有一个进程进入临界区C两个进程都进入了临界区D两个进程都在等待(分数:2.00)A.B.C.D.15.当一进程因在记录型信号量 S 上执行 V(S)操作而导致唤醒另一进程后,S 的值为( )。A0 B0 C=0 D=0(分数:2.00)A.B.C.D.16.若有 4 个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信号量的变化范围是( )。A3,2,1,0 B3,2,1,0,-1C4,3,2,1,0 D2,1,0,-1,

6、-2(分数:2.00)A.B.C.D.17.并发进程之间( )。A彼此无关 B必须同步C必须互斥 D可能需要同步或互斥(分数:2.00)A.B.C.D.18.下列哪种方法不能实现进程之间的通信( )?A共享文件 B数据库 C全局变量 D共享内存(分数:2.00)A.B.C.D.19.在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是( )。A进程 P 的代码段 B进程 P 中打开的文件C进程 P 的全局变量 D进程 P 中某线程的栈指针(分数:2.00)A.B.C.D.20.有两个并发执行的进程 P1 和 P2,共享初值为 1 的变量 x。P1 对 x 加 1,P2 对 x 减 1。

7、加 1 和减 1 操作的指令序列分别如下所示。/加 1 操作 /减 1 操作Load R1,x /取 x 到寄存器中 Load R2,xInc Rl dec R2Store x,R1 /将 R 的内容存入 x Store x,R2两个操作完成后,x 的值( )。A可能为-1 B只能为 1C可能为 0、1、2 D可能为-1、0、1、2(分数:2.00)A.B.C.D.21.系统中共有 5 个用户进程,且当前 CPU 在用户态下执行,则最多可有( )个用户进程处于就绪状态。A2 B3 C4 D5(分数:2.00)A.B.C.D.22.系统中共有 5 个用户进程,且当前 CPU 在核心态下执行,最多

8、可有( )个用户进程处于阻塞状态。A2 B3 C4 D5(分数:2.00)A.B.C.D.23.进程控制块是描述进程状态和特性的数据结构,一个进程( )。A可以有多个进程控制块B可以和其他进程共用一个进程控制块C可以没有进程控制块D只能有唯一的进程控制块(分数:2.00)A.B.C.D.24.下列关于进程和线程的叙述中,正确的是( )。A不管系统是否支持线程,进程都是资源分配的基本单位B线程是资源分配的基本单位,进程是调度的基本单位C系统级线程和用户级线程的切换都需要内核的支持D同一进程中的各个线程拥有各自不同的地址空间(分数:2.00)A.B.C.D.二、综合应用题(总题数:14,分数:11

9、2.00)25.如果信号量 S 的初值是 5,现在信号量的值是-5,那么系统中的相关进程至少执行了几个 P(S)操作?与信号量 S 相关的处于阻塞状态的进程有几个?如果要使信号量 S 的值大于 0,应该进行怎样的操作?(分数:8.00)_26.设 A、B 为两个并发进程,它们共享一个临界资源,其执行临界区的算法框图如图 2.10 所示。试判断该算法是否有错?请说明理由。如果有错,请改正。Sl、S2 的初值为 0,CSA、CSB 为临界区。(分数:8.00)_27.一组合作进程,执行顺序如图 2.11 所示。请用 P、V 操作实现进程间的同步操作。(分数:8.00)_28.某车站售票厅,任何时刻

10、最多可容纳 20 名购票者进入,当售票厅中少于 20 名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看做一个进程,请回答下列问题:(1)用 P、V 操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。(2)根据所定义的信号量,利用 P、V 操作写出能正确并发执行的进程。(3)若欲购票者最多为 n 个人,写出信号量可能的变化范围(最大值和最小值)。(分数:8.00)_29.在公共汽车上,司机负责开车、停车和驾驶,售票员负责门的开门、关门和售票。基本操作规则是只有停车后,售票员才能开门,只有售票员关门后,司机才能开车。汽车初始状态处于行驶之中

11、。当只有 1个司机、2 个售票员、2 个门、每个售票员负责一个门时的协调操作。请使用 P、V 原语实现售票员与司机之间的协调操作,说明每个信号量的含义、初值和值的范围。(分数:8.00)_30.设 A、B 两个火车站之间是单轨连接的,现有许多列车同时到 A 站,需经 A 站到达 B 站,列车出 B 站后又可分路行驶(如图 2.12)。为保证行驶安全,请设计一个自动调度系统保证系统安全。提示:可用 P、V操作设计。(分数:8.00)_31.生产围棋的工人不小心将相等数量的黑子和白子混合装在一个盒子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程 PA 和 PB 组成,系统功能如

12、下:PA 专拣黑子,PB 专拣白子;每次只拣一个子,当一个进程拣子时,不许另一个进程去拣子;当一个进程拣子后,必须让另一个进程拣子。试回答:(1)两个进程间是同步还是互斥?(2)写出用 P、V 定义的信号量及其初值。(3)写出 P、V 管理的两个并发进程的程序。(分数:8.00)_32.三个进程 P1、P2、P3 互斥使用一个包含 N(N0)个单元的缓冲区。P1 每次用“produce()”生成一个正整数并用“put()”送入缓冲区某一空单元中;P2 每次用“getodd()”从该缓冲区中取出一个奇数并用“countodd()”统计奇数个数;P3 每次用“geteven()”从该缓冲区中取出一

13、个偶数并用“countieven()”统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。(分数:8.00)_33.一个理发店,由一间有 N 张沙发的等候室和一间放有一个理发椅的工作室组成。如果没有顾客,理发师就去睡觉。如果顾客来时所有的沙发都有人,那么顾客就离去。如果理发师在忙而有空闲的沙发,那么顾客就会坐在其中的一个空闲的沙发上等待。如果理发师在睡觉,顾客会唤醒他。在理完发后,顾客必须付费,直到理发师收费后才能离开理发店。请利用信号量(semaphores),写个程序来协调理发师和顾客进程。(分数:8.00)_34.有一阅览室,读者进入

14、时必须先在一张登记表上登记。该表中每个表项代表阅览室中的一个座位。读者离开时要消掉其登记信息。阅览室共有 50 个座位。登记表每次仅允许一位读者进行登记或注销。读者登记时,发现登记表满,他在阅览室外等待,直至有空位再登记进入。试用类 Pascal 语言和 P、V 操作,描述读者行为。(分数:8.00)_35.某银行有人民币储蓄业务,由 n 个柜员负责,有 1 台取号机。每个顾客进入银行后先取一个号,若有人取号则需等他人取完后才能取,取到号后等待叫号,当一个柜员人员空闲下来,就叫下一个号。试用P、V 操作正确编写柜台人员和顾客进程的程序。(分数:8.00)_36.某寺庙,有小和尚、老和尚若干。有

15、一水缸,由小和尚用水桶从井中提水入缸,老和尚用水桶从缸里取水饮用。水缸可容 10 桶水,水取自同一井中。水井径窄,每次只能容一个水桶取水。水桶总数为 3 个。每次入、取缸水仅为 1 桶,且不可以同时进行。试用 P、V 操作给出小和尚、老和尚动作的算法描述。(分数:8.00)_37.有一个仓库,可以存放 A 和 B 两种产品,但要求:(1)每次只能存入一种产品(A 或 B);(2)-NA 产品数量-B 产品数量M。其中,N 和 M 是正整数。试用 P、V 操作描述产品 A 与 B 的入库过程。(分数:8.00)_38.有一个东西方向的独木桥,如图 2.13 所示,每次只能有一人通过,且不允许人在

16、桥上停留。东西两端各有若干人在等待过桥。请用 P、V 操作来实现东西两端的人过桥的问题。(分数:8.00)_考研操作系统-进程管理(三)答案解析(总分:160.00,做题时间:90 分钟)一、选择题(总题数:24,分数:48.00)1.在单处理机系统中,处于运行状态的进程( )。A只有一个 B可以有多个C不能被挂起 D必须在执行完后才能被撤下(分数:2.00)A. B.C.D.解析:解析 本题目考查单处理机进程执行的特点。在单处理机中,任何时刻只有一个进程可以占用处理机执行,因此应该选择 A。2.一个进程被唤醒意味着( )。A该进程重新占有了 CPU B进程状态变为就绪C它的优先权变为最大 D

17、其 PCB 移至就绪队列的队首(分数:2.00)A.B. C.D.解析:解析 本题目考查进程的状态转换。进程被唤醒后由阻塞态转换为就绪态,进入就绪队列排队。因此应该选择 B。3.进程从运行状态变为等待状态的原因是( )。A输入或输出事件发生 B时间片到C输入或输出事件完成 D某个进程被唤醒(分数:2.00)A. B.C.D.解析:解析 本题目考查引起进程阻塞的原因。当进程启动输入输出设备时,就会自动进入阻塞状态等待,当 I/O 操作完成后,再由中断处理程序将该进程唤醒。因此应该选择 A。4.操作系统中有一组常称为特殊系统调用,它不能被系统中断,在操作系统中称为( )。A初始化程序 B原语 C子

18、程序 D控制模块(分数:2.00)A.B. C.D.解析:解析 本题目考查原语的概念。原语是原子操作,在执行过程中不允许被中断。原语在管态下执行。因此应该选择 B。5.进程和程序的本质区别是( )。A存储在内存和外存 B顺序和非顺序执行机器指令C分时使用和独占使用计算机资源 D动态和静态特征(分数:2.00)A.B.C.D. 解析:解析 本题目考查进程和程序的本质区别。进程的实质是程序的一次执行过程,是动态的;而程序只是一组有序指令的集合,本身并无运动的含义,是静态的。这是它们本质上的区别。因此应该选择D。6.下面对临界区的论述中,正确的是( )。A临界区是指进程中用于实现进程互斥的那段代码B

19、临界区是指进程中用于实现进程同步的那段代码C临界区是指进程中用于实现进程通信的那段代码D临界区是指进程中访问临界资源的那段代码(分数:2.00)A.B.C.D. 解析:解析 本题目考查临界区的概念。临界区是指进程中访问临界资源的那段代码,因此应该选择D。7.下列各项步骤中,( )不是创建进程所必需的步骤?A建立一个进程控制块 PCB B由 CPU 调度程序为进程调度 CPUC为进程分配内存等必要的资源 D将 PCB 链入进程就绪队列(分数:2.00)A.B. C.D.解析:解析 本题目考查创建进程的步骤。创建一个新的进程时的步骤是:(1)需申请一个空白 PCB; (2)为新进程分配资源;(3)

20、初始化 PCB; (4)将新进程插入就绪队列。因此应该选择 B。8.进程状态由就绪状态转化到运行状态是由( )引起的。A中断事件 B进程状态转换 C进程调度 D程序被创建为进程(分数:2.00)A.B.C. D.解析:解析 本题目考查进程的基本状态转换。处于就绪态的进程经过进程调度则会获得 CPU 执行,从而转化为执行态。因此应该选 C。9.进程从运行态到等待态可能是由于( )。A进程调度程序的调度 B现运行进程执行了 P 操作C现运行进程执行了 V 操作 D现运行进程时间片用完(分数:2.00)A.B. C.D.解析:解析 本题目考查进程的基本状态转换。进程调度程序只能使由就绪态转化为执行态

21、;运行的进程执行 V 操作则会唤醒等待态的进程;现运行的进程时间片用完则进入就绪队列排队;只有现运行的进程执行了 P 操作时,如果信号量的值小于 0,则进入阻塞队列等待。因此应该选 B。10.一个进程的基本状态可以从其他两种基本状态转变过来,这个基本状态一定是( )。A执行状态 B阻塞状态 C就绪状态 D完成状态(分数:2.00)A.B.C. D.解析:解析 本题目考查进程的基本状态转换。执行态只能由就绪态转换而来;进程在执行时发生某些事件而无法继续执行时才转入阻塞状态;当进程执行完毕则进入完成状态;处于阻塞状态的进程在其所期待的事件发生时,则有阻塞状态转入就绪状态,正在执行的进程时间片用完,

22、或在优先权优先的抢占式调度方式的系统中,当有更高优先权的进程就绪时,则会抢占正在执行的进程的处理机,从而使其从执行状态转换为就绪状态。因此应该选 C。11.进程申请打印输出完成向系统发出中断后,进程的状态变化为( )。A从就绪到执行 B从执行到等待C从等待到就绪 D从执行到就绪(分数:2.00)A.B.C. D.解析:解析 本题目考查进程的基本状态转换。当处于阻塞的进程所期待的事件发生时,则由等待状态转换为就绪状态。因此应该选 C。12.下列选项中,降低进程优先级的合理时机是( )。A进程的时间片用完 B进程刚完成 I/O,进入就绪队列C进程长期处于就绪队列中 D进程从就绪状态转为运行态(分数

23、:2.00)A. B.C.D.解析:解析 本题目考查进程的基本状态转换。完成 I/O 进入就绪队列的进程尚未执行,不能降低其优先级;长期处于就绪队列的进程应提高其优先级;进程刚刚转入运行态,也不应降低其优先级;当进程的时间片用完,调度程序需要调度其他程序进入处理机执行,此时降低进程优先级是合理的。因此应该选A。13.设与某资源关联的信号量初值为 3,当前值为 1。若 M 表示该资源的可用个数,N 表示等待该资源的进程数,则 M、N 分别是( )。A0、1 B1、0 C1、2 D2、0(分数:2.00)A.B. C.D.解析:解析 本题目考查信号量的物理含义。根据信号量的物理含义:S.value

24、0 时表示有 S.value 个资源可用;S.value=0 表示无资源可用;S.value0 则|S.value|表示等待队列中的进程个数。信号量的当前值为 1,则表示该资源的可用个数为 1,没有等待该资源的进程。因此应该选 B。14.设两个进程共用一个临界资源的互斥信号量 mutex,当 mutex=-1 时表示( )。A一个进程进入了临界区,另一个进程等待B没有一个进程进入临界区C两个进程都进入了临界区D两个进程都在等待(分数:2.00)A. B.C.D.解析:解析 本题目考查互斥信号量的物理含义。mutex 为互斥信号量,则初值为 1,当前值为-1,则表示已经有一个进程执行了 P 操作

25、进入临界区,而另外一个进程执行 P 操作使 mutex 的值变为-1,从而进入阻塞队列等待。因此应该选 A。15.当一进程因在记录型信号量 S 上执行 V(S)操作而导致唤醒另一进程后,S 的值为( )。A0 B0 C=0 D=0(分数:2.00)A.B.C.D. 解析:解析 本题目考查 P、V 操作的定义。根据 V 操作的定义,进程执行 V 操作时,先使信号量的值加1,如果信号量的值小于等于 0,则唤醒一个等待在该信号量上的进程。因此应该选 D。16.若有 4 个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信号量的变化范围是( )。A3,2,1,0 B3,2,1,0,-1

26、C4,3,2,1,0 D2,1,0,-1,-2(分数:2.00)A.B. C.D.解析:解析 本题目考查信号量的取值范围。程序段最多允许三个进程进入,则表示资源的数目为 3,因此,信号量初值为 3,每进入一个进程,信号量的值减 1,当信号量的值减为 0 时,表示三个进程均进入程序段,此时若再有一个进程请求进入执行 P 操作,则信号量的值减为-1,进程阻塞。一共有四个进程,所以信号量的值最小为-1。因此信号量的值取值范围为 3,2,1,0,-1。因此应该选 B。17.并发进程之间( )。A彼此无关 B必须同步C必须互斥 D可能需要同步或互斥(分数:2.00)A.B.C.D. 解析:解析 本题目考

27、查进程之间有两种制约关系。并发进程之间有两种制约关系:直接相互制约和间接相互制约关系,直接制约关系决定进程之间需要互斥,间接制约关系决定进程之间需要同步。因此应该选 D。18.下列哪种方法不能实现进程之间的通信( )?A共享文件 B数据库 C全局变量 D共享内存(分数:2.00)A.B.C. D.解析:解析 本题目考查进程通信的方法。全局变量是一个进程内各个函数共享的变量,进程之间的使用同一个变量称为共享变量。因此,全局变量不能实现进程之间的通信。因此应该选 C。19.在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是( )。A进程 P 的代码段 B进程 P 中打开的文件C进程 P

28、的全局变量 D进程 P 中某线程的栈指针(分数:2.00)A.B.C.D. 解析:解析 本题目考查线程的特点。引入线程的系统中,一个进程中的各个线程可以共享其隶属进程的资源,包括一个进程的代码段、数据段及所拥有系统资源,如已打开的文件、I/O 设备等。而为了保证线程的独立运行,每个线程都应该包含独立的堆栈和 CPU 寄存器状态,这些是不能共享的。因此应该选D。20.有两个并发执行的进程 P1 和 P2,共享初值为 1 的变量 x。P1 对 x 加 1,P2 对 x 减 1。加 1 和减 1 操作的指令序列分别如下所示。/加 1 操作 /减 1 操作Load R1,x /取 x 到寄存器中 Lo

29、ad R2,xInc Rl dec R2Store x,R1 /将 R 的内容存入 x Store x,R2两个操作完成后,x 的值( )。A可能为-1 B只能为 1C可能为 0、1、2 D可能为-1、0、1、2(分数:2.00)A.B.C. D.解析:解析 本题目考查进程并发执行的顺序。若进程 P1 和 P2 顺序执行时,无论 P1 先执行,还是 P2先执行,其结果均为 1;若进程 P1 和 P2 在并发执行时其指令序列交替执行,P1 执行到 Inc R1 后,P2 执行,P2 完成后,P1 再接着执行,则其结果为 2;若 P2 先执行到 Dec R2 后,P1 执行,P1 完成后,P2 再

30、接着执行,在其结果为 0。因此应该选 C。21.系统中共有 5 个用户进程,且当前 CPU 在用户态下执行,则最多可有( )个用户进程处于就绪状态。A2 B3 C4 D5(分数:2.00)A.B.C. D.解析:解析 本题目考查进程的基本状态。当前 CPU 在用户态下执行,说明一定有一个用户程序在占用CPU,处于执行态,因此,最多有 4 个进程处于就绪状态。因此应该选 C。22.系统中共有 5 个用户进程,且当前 CPU 在核心态下执行,最多可有( )个用户进程处于阻塞状态。A2 B3 C4 D5(分数:2.00)A.B.C.D. 解析:解析 本题目考查进程的基本状态。当前 CPU 在核心态下

31、执行,说明没有用户程序占用 CPU,因此,最多可以有 5 个进程处于阻塞状态。因此应该选 D。23.进程控制块是描述进程状态和特性的数据结构,一个进程( )。A可以有多个进程控制块B可以和其他进程共用一个进程控制块C可以没有进程控制块D只能有唯一的进程控制块(分数:2.00)A.B.C.D. 解析:解析 本题目考查进程 PCB 的概念。PCB 是进程存在的唯一标志,每个进程有且只有一个 PCB。因此应该选 D。24.下列关于进程和线程的叙述中,正确的是( )。A不管系统是否支持线程,进程都是资源分配的基本单位B线程是资源分配的基本单位,进程是调度的基本单位C系统级线程和用户级线程的切换都需要内

32、核的支持D同一进程中的各个线程拥有各自不同的地址空间(分数:2.00)A. B.C.D.解析:解析 本题考查线程的基本概念及进程和线程的区别。在不支持线程的操作系统中,进程既是资源分配的基本单位,也是调度的基本单位;在拥有线程的操作系统中,线程是调度的基本单位,而进程是资源分配的基本单位。系统级线程的切换需要内核的支持,用户级线程的切换不需要内核的支持。同一进程中的线程共享同一物理内存空间。因此应该选择 A。二、综合应用题(总题数:14,分数:112.00)25.如果信号量 S 的初值是 5,现在信号量的值是-5,那么系统中的相关进程至少执行了几个 P(S)操作?与信号量 S 相关的处于阻塞状

33、态的进程有几个?如果要使信号量 S 的值大于 0,应该进行怎样的操作?(分数:8.00)_正确答案:(1)因为每执行一次 P 操作 S 的值减 1,5-(-5)=10,在这期间有可能有进程执行 V 操作,使S 的值加 1,所以至少执行了 10 次 P(S)。(2)5 个。(3)6 个 V(S)或 5 个以上。)解析:解析 本题考查对信号量概念的理解,主要根据信号量的物理意义进行解答。26.设 A、B 为两个并发进程,它们共享一个临界资源,其执行临界区的算法框图如图 2.10 所示。试判断该算法是否有错?请说明理由。如果有错,请改正。Sl、S2 的初值为 0,CSA、CSB 为临界区。(分数:8

34、.00)_正确答案:(该算法有错。一方面,首次访问临界资源必须是 A 进程,如果 A 进程永不要求访问临界资源,则不会执行 V(S1),那么 B 进程永远得不到操作临界资源的机会;另一方面,如果 A 进程首次访问了临界资源,那么接下来,只能两个进程交替使用临界资源,如果有一个进程不再访问临界资源,则另一个进程下次将得不到操作临界资源的机会。所以问题在于:本应进行互斥控制,却使用的是同步控制。改正如下:设置信号 mutexmutex:=1;CobeginA 进程:Beginrepeatp(mutex);CSA;V(mutex);until falseEndB 进程:BeginrepeatP(mu

35、tex);CSB;V(mutex);until falseEndCoend)解析:解析 本题目考查进程同步算法的判断。27.一组合作进程,执行顺序如图 2.11 所示。请用 P、V 操作实现进程间的同步操作。(分数:8.00)_正确答案:(semaphorea=b=c=d=e=f=g=h=0;P1() ;V(a);V(b);P2()p(a);v(c);v(d);P3()P(b);v(e);v(f);P4()P(c);P(e);v(g);P5()P(d);P(f);v(h);P6()P(g);P(h);)解析:解析 本题目考查利用信号量实现前趋关系。28.某车站售票厅,任何时刻最多可容纳 20

36、名购票者进入,当售票厅中少于 20 名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看做一个进程,请回答下列问题:(1)用 P、V 操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。(2)根据所定义的信号量,利用 P、V 操作写出能正确并发执行的进程。(3)若欲购票者最多为 n 个人,写出信号量可能的变化范围(最大值和最小值)。(分数:8.00)_正确答案:(1)定义一信号量 S,初始值为 20。S0,S 的值表示可继续进入售票厅的人数;S=0,表示售票厅中已有 20 名顾客(购票者);S0,|S|的值为等待进入售票厅的人数。(2) CO

37、BEGINPi(i=1,2,)P(S);进入售票厅:购票:退出:V(S);COEND(3)S 的最大值为 20;S 的最小值为 20-N。)解析:解析 本题目考查进程的同步问题。29.在公共汽车上,司机负责开车、停车和驾驶,售票员负责门的开门、关门和售票。基本操作规则是只有停车后,售票员才能开门,只有售票员关门后,司机才能开车。汽车初始状态处于行驶之中。当只有 1个司机、2 个售票员、2 个门、每个售票员负责一个门时的协调操作。请使用 P、V 原语实现售票员与司机之间的协调操作,说明每个信号量的含义、初值和值的范围。(分数:8.00)_正确答案:(确定 P、V 操作的位置:司机操作中,是否关前

38、门?没关则等待,这是一个 P 操作,P (Door1);是否关后门?没关则等待,这是一个 P 操作,P (Door2);司机操作中,设立启动标志,通知前、后门售票员可以售票,这是两个 V 操作,V(T1),V(T2);司机操作中,设立停车标志,通知前、后门售票员可以开门,这是两个 V 操作,V(S1),V(S2);前门售票员售票操作中,汽车是否启动?没启动则等待,这是一个 P 操作,P(T1)。前门售票员开门操作中,是否停车?没停则等待,这是一个 P 操作,P(S1);前门售票员关门操作中,设立关门标志,这是一个 V 操作,V(Door1);后门售票员售票操作中,汽车是否启动?没启动则等待,这

39、是一个 P 操作,P(T2)。后门售票员开门操作中,是否停车?没停则等待,这是一个 P 操作,P(S2);后门售票员关门操作中,设立关门标志,这是一个 V 操作,V(Door2);由于汽车初始状态处于行驶之中,所以 Door1=Door2=0,T1=T2=0(不严格),S1=S2=0,所有信号量的取值范围都是-11。Semaphore Door1=Door2=1;Semaphore S1=S2=0;Semaphore T1=T2=1;main()cobegindriver();busserver 1();busserver 2();coenddriver() do while TP(Door1

40、);p(Door2);启动车辆;V(T1);V(T2);正常行车;到站停车;V(S1);V(S2);busserver 1() do while TP(T1);售票;p(S1);开前门;关前门;V(Door1);busserver 2() do while Tp(T2);售票;P(S2);开后门;关后门;V(Door2);)解析:解析 本题目考查进程的同步问题。司机的启动、停车操作需要与两个售票员的关门、售票、开门操作同步。30.设 A、B 两个火车站之间是单轨连接的,现有许多列车同时到 A 站,需经 A 站到达 B 站,列车出 B 站后又可分路行驶(如图 2.12)。为保证行驶安全,请设计一

41、个自动调度系统保证系统安全。提示:可用 P、V操作设计。(分数:8.00)_正确答案:(设 A、B 两个火车站之间的单轨段为临界段 CAB,P、V 操作程序为:main()Semaphore S=1;CobeginProcess PiP(S)通过 CAB;V(S);Coend)解析:解析 本题目考查进程互斥。由题意可知,A、B 两个火车站之间的单轨段为临界资源,需互斥使用。31.生产围棋的工人不小心将相等数量的黑子和白子混合装在一个盒子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程 PA 和 PB 组成,系统功能如下:PA 专拣黑子,PB 专拣白子;每次只拣一个子,当一个进

42、程拣子时,不许另一个进程去拣子;当一个进程拣子后,必须让另一个进程拣子。试回答:(1)两个进程间是同步还是互斥?(2)写出用 P、V 定义的信号量及其初值。(3)写出 P、V 管理的两个并发进程的程序。(分数:8.00)_正确答案:(1)同步关系。(2)两个信号量:S1 允许拣黑子;S2 允许拣白子;初值为:0、1 或 1、0。(3)程序如下:main()Semaphore S1, S2;S1=1; S2=0;cobeginprocessPA();processPB();coendprocessPA()while(1)P(S1);拣黑子;V(S2);processPB()while(1)P(S2);拣白子;V(S1);)解析:解析 本题目考查进程同步。由题意可知,这个问题是两个进程的简单同步问题。32.三个进程 P1、P2、P3 互斥使用一个包含 N(N0)个单元的缓冲区。P1 每次用“produce()”生成一个正整数并用“put()”送入缓冲区某一空单元中;P2 每次用“getodd()”从该缓冲区中取出一个奇数并用“c

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

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

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