【考研类试卷】计算机专业基础综合操作系统(进程管理)历年真题试卷汇编1及答案解析.doc

上传人:figureissue185 文档编号:1389569 上传时间:2019-12-03 格式:DOC 页数:13 大小:80.50KB
下载 相关 举报
【考研类试卷】计算机专业基础综合操作系统(进程管理)历年真题试卷汇编1及答案解析.doc_第1页
第1页 / 共13页
【考研类试卷】计算机专业基础综合操作系统(进程管理)历年真题试卷汇编1及答案解析.doc_第2页
第2页 / 共13页
【考研类试卷】计算机专业基础综合操作系统(进程管理)历年真题试卷汇编1及答案解析.doc_第3页
第3页 / 共13页
【考研类试卷】计算机专业基础综合操作系统(进程管理)历年真题试卷汇编1及答案解析.doc_第4页
第4页 / 共13页
【考研类试卷】计算机专业基础综合操作系统(进程管理)历年真题试卷汇编1及答案解析.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、计算机专业基础综合操作系统(进程管理)历年真题试卷汇编 1 及答案解析(总分:78.00,做题时间:90 分钟)一、单项选择题(总题数:29,分数:58.00)1.单项选择题下列各题的备选答案中,只有一个是符合题意的。(分数:2.00)_2.在某系统中有 4 个并发进程,都需要同类资源 5 个,问该系统不会发生死锁的最少资源数是_个。【南京航空航天大学 2006 年】(分数:2.00)A.20B.9C.17D.123.在下列死锁的解决方法中,属于死锁预防策略的是_。【太原科技大学 2006 年】(分数:2.00)A.银行家算法B.资源有序分配算法C.死锁检测算法D.资源分配图化简法4.在_的情

2、况下,系统出现死锁。【浙江大学 2003 年】(分数:2.00)A.计算机系统发生重大故障B.有多个封锁的进程同时存在C.若干进程因竞争资源而无休止地相互等待对方释放已占有资源D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数5.引入多道程序技术的前提条件之一是系统具有_。【四川大学 2001 年】(分数:2.00)A.多个 CPUB.多个终端C.中断功能D.分时功能6.进程和程序的重要区别之一是_。(分数:2.00)A.程序有状态而它没有B.它有状态而程序没有C.程序可占有资源而它不可D.它能占有资源而程序不能7.在单处理机系统中实现并发技术后_。【北京理工大学 2001 年】(

3、分数:2.00)A.各进程在某一时刻并行运行,CPU 外设间并行工作B.各进程在一个时间段内并行运行,CPU 外设间并行工作C.各进程在一个时间段内并行运行,CPU 与外设间串行工作D.各进程在某一时刻并行运行,CPU 与外设间串行工作8.一进程基本状态可以从其他两种基本状态转变过去,这个基本的状态一定是_。【四川大学 2002 年】(分数:2.00)A.执行状态B.阻塞状态C.就绪状态D.完成状态9.并发进程执行的相对速度是_。【武汉理工大学 2005 年】(分数:2.00)A.由进程的程序结构决定的B.由进程自己来控制的C.与进程调度策略有关的D.在进程被创建时确定的10.并发进程失去封闭

4、性,是指_。【华中科技大学 1998 年】(分数:2.00)A.多个相对独立的进程以各自的速度向前推进B.并发进程的执行结果与速度无关C.并发进程执行时,在不同时刻发生的错误D.并发进程共享变量,其执行结果与速度有关11.通常用户进程被建立后_。(分数:2.00)A.便一直存在于系统中,直到被操作人员撤销B.随着进程运行的正常或不正常结束而撤销C.随着时间片轮转而撤销与建立D.随着进程的阻塞或者唤醒而撤销与建立12.在非剥夺调度方式下,当_时,不会引起一进程从就绪态变为运行态。(分数:2.00)A.一个进程被创建后进入就绪态B.一个进程从运行态变成阻塞态C.运行的进程执行结束D.一个进程从运行

5、态变为就绪态13.进程在处理机上执行时_。【哈尔滨工业大学 2007 年复试】(分数:2.00)A.进程之间是无关的,具有封闭特性B.进程之间都是有交互性,相互依赖,相互制约,具有并发性C.具有并发性,即同时执行的特性D.进程之间可能是无关的,但也可能是有交往的14.在进程的生命期内,进程与其执行的程序个数之间是_关系。【北京理工大学 2001 年】(分数:2.00)A.一对一B.一对多C.多对一D.多对多15.下面说法正确的是_。【太原科技大学 2007 年】(分数:2.00)A.不论是系统支持的线程还是用户级线程,其切换都需要内核的支持B.线程是资源分配的单位,进程是调度和分派的单位C.不

6、管系统中是否有线程,进程都是拥有资源的独立单位D.在引入线程的系统中,进程仍是资源调度和分派的基本单位16.在多对一的线程模型中,当一个多线程进程中的某个线程被阻塞后_。(分数:2.00)A.该进程的其他线程仍可继续运行B.整个进程都将阻塞C.该阻塞线程将被撤销D.该阻塞线程将永远不可能在执行17.既考虑作业等待时间,又考虑作业执行时问的调度算法是_。【武汉理工大学 2004 年】(分数:2.00)A.响应比高者优先B.短作业优先C.优先级调度D.先来先服务18.现在有 3 个同时到达的作业 J1、J2 和 J3,它们的执行时间分别为 T1、T2、T3,且 T1T2T3。系统按单道方式运行且采

7、用短作业优先算法,则平均周转时间是_。(分数:2.00)A.T1+T2+T3B.(3T1 十 2T2+T3)3C.(T1+T2 一 T3)3D.(T1+2T2+3T3)319.临界区是_。【清华大学 2000 年】(分数:2.00)A.一个缓冲区B.一段共享数据区C.一段程序D.一个互斥资源20.可以被多个进程在任意时刻共享的代码必须是_。【南京邮电大学 2000 年】(分数:2.00)A.顺序代码B.机器语言代码C.不能自身修改的代码D.无转移指令代码21.一个进程有程序、数据及进程控制块组成,其中_必须用可重入编码写。【哈尔滨工业大学 2009 年复试】(分数:2.00)A.PcBB.程序

8、C.数据D.共享程序段22.在操作系统中,PV 操作(或 wait 操作和 signal 操作)是一种_。【浙江大学 2003 年】(分数:2.00)A.机器指令B.系统调用命令C.作业控制命令D.低级进程通信原语23.用来实现进程同步与互斥的 PV 操作实际上是由_过程组成的。【武汉理工大学 2005 年】(分数:2.00)A.一个可被中断的B.一个不可被中断的C.两个可被中断的D.两个不可被中断的24.有 3 个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用 PV 操作同步机制,则信号量S 的取值范围是_。【中科院 1998 年】(分数:2.00)A.2,1,0,一 1B.3,

9、2,1,0C.2,1,0,一 1,一 2D.1,0,一 1,一 225.若 P、v 操作的信号量 s 初值为 2,当前值为一 1,则表示有_个等待进程。【武汉理工大学 2004 年】(分数:2.00)A.0B.1C.2D.326.产生死锁的根本原因是_。【北京理工大学 2003 年】(分数:2.00)A.资源共享B.并发执行的进程太多C.进程推进顺序非法D.以上 3 个因素全是27.死锁的避免是根据_采取措施实现的。【北京理工大学 2002 年】(分数:2.00)A.配置足够的系统资源B.使进程的推进顺序合理C.防止死锁的四个必要条件之一D.防止系统进入不安全状态28.若系统中有 5 台绘图仪

10、,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许_个进程参与竞争,而不会发生死锁。【武汉理工大学 2005 年】(分数:2.00)A.5B.2C.3D.429.3 个进程共享 4 个同类资源,这些资源的分配与释放只能一次一个。已知每个进程最多需要两个该类资源,则该系统_。【华中科技大学 2001 年】(分数:2.00)A.有某进程可能永远得不到该类资源B.必然有死锁C.进程请求该类资源立刻能得到D.必然无死锁二、1 综合题(总题数:10,分数:20.00)30.面包师有很多面包,由 n 个销售人员推销。每个顾客进店后取一个号,并且等待叫号,当一个销售人员空闲下来时,就叫下

11、一个号。试设计一个使销售人员和顾客同步的算法。【北京航空航天大学 2001 年】(分数:2.00)_31.假设缓冲区 buf1 和缓冲区 buf2 无限大,进程 p1 向 buf1 写数据,进程 p2 向 buf2 写数据,要求bufll 数据个数和 buf2 数据个数的差保持在m,n(mn,m、n 都是正数)之间。【浙江大学 2001 年】(分数:2.00)_32.某工厂有两个生产车间和一个装配车间,两个生产车间分别生产 A、B 两种零件,装配车间的任务是把A、B 两种零件组装成产品。两个生产车间每生产一个零件后都要分别把它们送到装配车间的货架 F1、F2上。F1 存放零件 A,F2 存放零

12、件 B,F1 和 F2 的容量均可以存放 10 个零件。装配工人每次从货架上取一个 A 零件和一个 B 零件后组装成产品。请用 P、V 操作进行正确管理。【南京大学 1999 年】(分数:2.00)_33.某寺庙,有小、老和尚若干,有一水缸,由小和尚提入水缸供老和尚饮用。水缸可容 10 桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为 3 个。每次入缸取水仅为 1 桶水,且不可同时进行。试给出有关从缸取水、入水的算法描述。(分数:2.00)_34.如图 2-2 所示,三个合作进程 P1、P2、P3,它们都需要通过同一设备输入各自的数据 a、b、c,该输入设备必须互斥地使用,而且

13、其第一个数据必须由 P1 进程读取,第二个数据必须由 P2 进程读取,第三个数据则必须由 P3 进程读取。然后,三个进程分别对输入数据进行下列计算: (分数:2.00)_35.我们将只读数据的进程称为“读者”进程,而写或者修改数据的进程称为“写者”进程,允许多个“读者”同时读数据,但不允许写者与其他读者或者写者进程同时访问数据。另外要保证:一旦有写者等待,新到达的读者必须等待,直到该写者完成数据访问为止,用 PV 操作实现读者、写者同步。【北京航空航天大学 2005 年】(分数:2.00)_36.有桥如图 23 所示,车流方向如箭头所示。回答如下问题: (分数:2.00)_37.假设一个系统有

14、三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。一个抽烟者有烟草、另一个有纸,第三个有胶水。供应者进程无限地提供三种材料,供应者每次将两种材料放到桌子上,拥有剩下那种材料的抽烟者卷一根烟并抽掉它,并给供应者一个信号告诉完成了,供应者就会放另外两种材料在桌上,这种过程一直重复(让 3 个抽烟者轮流地抽烟)。请用信号量及 PV 操作实现这四个进程的并发执行。(分数:2.00)_38.两个进程 A 和 B,每个进程都需要读取数据库中的记录 1、2、3。假如这两个进程都以 1、2、3 的次序请求读取记录,系统将不会发生死锁。但

15、如果 A 以 3、2、1 的次序读取记录,B 以 1、2、3 的次序读取记录,则死锁可能会发生。试计算两个进程读取记录的次序如果不确定,那么系统保证不发生死锁的概率是多少?【华南理工大学 2006 年】(分数:2.00)_39.假设具有 5 个进程的进程集合 P=P0,P1,P2,P3,P4,系统中有三类资源 A、B、c,假设在某时刻有如下状态: (分数:2.00)_计算机专业基础综合操作系统(进程管理)历年真题试卷汇编 1 答案解析(总分:78.00,做题时间:90 分钟)一、单项选择题(总题数:29,分数:58.00)1.单项选择题下列各题的备选答案中,只有一个是符合题意的。(分数:2.0

16、0)_解析:2.在某系统中有 4 个并发进程,都需要同类资源 5 个,问该系统不会发生死锁的最少资源数是_个。【南京航空航天大学 2006 年】(分数:2.00)A.20B.9C.17 D.12解析:解析:考查死锁。当 4 个并发进程分别占用 4 个同类资源时,且都在等待第 5 个资源时,系统发生死锁。这时再增加 1 个资源,则有 1 个进程将得到第 5 个资源并执行:这个进程运行结束后释放资源,其余进程就可以陆续执行。所以系统有 17 个资源时可以保证不会发生死锁。3.在下列死锁的解决方法中,属于死锁预防策略的是_。【太原科技大学 2006 年】(分数:2.00)A.银行家算法B.资源有序分

17、配算法 C.死锁检测算法D.资源分配图化简法解析:解析:考查死锁的预防策略。其中银行家算法为死锁避免算法,死锁检测算法和资源分配图化简法为死锁检测,根据排除法可以得出资源有序分配算法为死锁预防策略。4.在_的情况下,系统出现死锁。【浙江大学 2003 年】(分数:2.00)A.计算机系统发生重大故障B.有多个封锁的进程同时存在C.若干进程因竞争资源而无休止地相互等待对方释放已占有资源 D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数解析:解析:考查死锁的基本概念。5.引入多道程序技术的前提条件之一是系统具有_。【四川大学 2001 年】(分数:2.00)A.多个 CPUB.多个终

18、端C.中断功能 D.分时功能解析:解析:考查引入多道程序设计技术的条件。多道程序技术要求程序间能实现并发,而并发性的实现需要中断功能的支持。6.进程和程序的重要区别之一是_。(分数:2.00)A.程序有状态而它没有B.它有状态而程序没有 C.程序可占有资源而它不可D.它能占有资源而程序不能解析:解析:考查进程的概念。7.在单处理机系统中实现并发技术后_。【北京理工大学 2001 年】(分数:2.00)A.各进程在某一时刻并行运行,CPU 外设间并行工作B.各进程在一个时间段内并行运行,CPU 外设间并行工作 C.各进程在一个时间段内并行运行,CPU 与外设间串行工作D.各进程在某一时刻并行运行

19、,CPU 与外设间串行工作解析:解析:考查并发技术。实现并发技术后,CPU 与外设可以并行工作;但由于是单处理机,所以各进程只能在一个时间段内并行运行。8.一进程基本状态可以从其他两种基本状态转变过去,这个基本的状态一定是_。【四川大学 2002 年】(分数:2.00)A.执行状态B.阻塞状态C.就绪状态 D.完成状态解析:解析:考查进程转换的基本概念。9.并发进程执行的相对速度是_。【武汉理工大学 2005 年】(分数:2.00)A.由进程的程序结构决定的B.由进程自己来控制的C.与进程调度策略有关的 D.在进程被创建时确定的解析:解析:考查并发进程。不同的调度策略会导致并发进程间执行的相对

20、速度不同。10.并发进程失去封闭性,是指_。【华中科技大学 1998 年】(分数:2.00)A.多个相对独立的进程以各自的速度向前推进B.并发进程的执行结果与速度无关C.并发进程执行时,在不同时刻发生的错误D.并发进程共享变量,其执行结果与速度有关 解析:解析:考查并发进程。程序封闭性指进程执行的结果只取决于进程本身,不受外界影响。也就是说,进程在执行过程中不管是不停顿地执行,还是走走停停,进程的执行速度不会改变它的执行结果。失去封闭性后,不同速度下的执行结果不同。11.通常用户进程被建立后_。(分数:2.00)A.便一直存在于系统中,直到被操作人员撤销B.随着进程运行的正常或不正常结束而撤销

21、 C.随着时间片轮转而撤销与建立D.随着进程的阻塞或者唤醒而撤销与建立解析:解析:考查进程的基本状态。进程不会一直存在于系统中,也不一定需要用户显式地撤销。进程在时间片结束时只是阻塞,而不是撤销。阻塞和唤醒是进程生存期的中间状态。12.在非剥夺调度方式下,当_时,不会引起一进程从就绪态变为运行态。(分数:2.00)A.一个进程被创建后进入就绪态 B.一个进程从运行态变成阻塞态C.运行的进程执行结束D.一个进程从运行态变为就绪态解析:解析:考查进程的状态转换。一个进程从就绪状态变为运行状态,必须有进程让出处理机,B、C、D 三种情况都会让出处理机,而 A 则不一定,一个进程被创建后进入就绪状态,

22、不一定有进程让出处理机。13.进程在处理机上执行时_。【哈尔滨工业大学 2007 年复试】(分数:2.00)A.进程之间是无关的,具有封闭特性B.进程之间都是有交互性,相互依赖,相互制约,具有并发性C.具有并发性,即同时执行的特性D.进程之间可能是无关的,但也可能是有交往的 解析:解析:考查进程的并发性。封闭性、并发性都是有条件的,如单任务单进程系统中进程就无并发性。14.在进程的生命期内,进程与其执行的程序个数之间是_关系。【北京理工大学 2001 年】(分数:2.00)A.一对一B.一对多 C.多对一D.多对多解析:解析:考查进程与程序的关系。对于一个进程,它的生命期内可以执行多个程序。1

23、5.下面说法正确的是_。【太原科技大学 2007 年】(分数:2.00)A.不论是系统支持的线程还是用户级线程,其切换都需要内核的支持B.线程是资源分配的单位,进程是调度和分派的单位C.不管系统中是否有线程,进程都是拥有资源的独立单位 D.在引入线程的系统中,进程仍是资源调度和分派的基本单位解析:解析:考查进程与线程的基本概念。进程是资源分配的单位,线程是调度和分派的单位,线程本身不具有资源。16.在多对一的线程模型中,当一个多线程进程中的某个线程被阻塞后_。(分数:2.00)A.该进程的其他线程仍可继续运行B.整个进程都将阻塞 C.该阻塞线程将被撤销D.该阻塞线程将永远不可能在执行解析:解析

24、:考查多对一线程模型。在多对一的线程模型中,一个线程被阻塞。则整个进程都将被阻塞。17.既考虑作业等待时间,又考虑作业执行时问的调度算法是_。【武汉理工大学 2004 年】(分数:2.00)A.响应比高者优先 B.短作业优先C.优先级调度D.先来先服务解析:解析:考查调度算法。响应比=作业响应时间作业执行时间=(作业执行时间+作业等待时间)作业执行时间=1+作业等待时间作业执行时间计算响应比时考虑到了作业等待时间和作业执行时间。18.现在有 3 个同时到达的作业 J1、J2 和 J3,它们的执行时间分别为 T1、T2、T3,且 T1T2T3。系统按单道方式运行且采用短作业优先算法,则平均周转时

25、间是_。(分数:2.00)A.T1+T2+T3B.(3T1 十 2T2+T3)3 C.(T1+T2 一 T3)3D.(T1+2T2+3T3)3解析:解析:考查平均周转时间的定义。系统采用短作业优先算法,则作业的执行顺序为 J1、J2、J3,则 J1 的周转时间为 T1,J2 的周转时间为 Tl+T2,J3 的周转时间为 T1+T2+T3,则平均周转时间为(T1+T1+T2+Tl 十 T2+T3)3=(3T1 十 2T2+T3)319.临界区是_。【清华大学 2000 年】(分数:2.00)A.一个缓冲区B.一段共享数据区C.一段程序 D.一个互斥资源解析:解析:考查临界区的定义。每个进程中访问

26、临界资源的那段程序称为临界区(criticalSection)。临界资源是一次仅允许一个进程使用的共享资源。20.可以被多个进程在任意时刻共享的代码必须是_。【南京邮电大学 2000 年】(分数:2.00)A.顺序代码B.机器语言代码C.不能自身修改的代码 D.无转移指令代码解析:解析:考查可重入代码的定义。若代码可以被多个进程在任意时刻共享,则要求任一个进程在调用此段代码时都以同样的方式运行:而且进程在运行过程中被中断后再继续执行,其执行结果也不受影响。这必然要求代码不能自身修改,否则无法满足共享的要求。这样的代码就是可重入代码,也叫纯代码,即允许多个进程同时访问的代码。21.一个进程有程序

27、、数据及进程控制块组成,其中_必须用可重入编码写。【哈尔滨工业大学 2009 年复试】(分数:2.00)A.PcBB.程序C.数据D.共享程序段 解析:解析:考查可重入代码的概念。共享程序段可能同时被多个进程使用。22.在操作系统中,PV 操作(或 wait 操作和 signal 操作)是一种_。【浙江大学 2003 年】(分数:2.00)A.机器指令B.系统调用命令C.作业控制命令D.低级进程通信原语 解析:解析:考查 P-v 操作的基本概念。23.用来实现进程同步与互斥的 PV 操作实际上是由_过程组成的。【武汉理工大学 2005 年】(分数:2.00)A.一个可被中断的B.一个不可被中断

28、的C.两个可被中断的D.两个不可被中断的 解析:解析:考查 P-v 操作的概念。P 操作和 v 操作不可被中断。24.有 3 个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用 PV 操作同步机制,则信号量S 的取值范围是_。【中科院 1998 年】(分数:2.00)A.2,1,0,一 1 B.3,2,1,0C.2,1,0,一 1,一 2D.1,0,一 1,一 2解析:解析:考查 P-v 操作中信号量的意义。因为每次允许两个进程进入该程序段,信号量最大值取 2,最小值取一 1。25.若 P、v 操作的信号量 s 初值为 2,当前值为一 1,则表示有_个等待进程。【武汉理工大学 200

29、4 年】(分数:2.00)A.0B.1 C.2D.3解析:解析:考查 P-v 操作中信号量的意义。题目中的信号量可以为负数,说明该信号量为记录型信号量,当记录型信号量为负数时,它的绝对值表示在该信号量上等待的进程个数。26.产生死锁的根本原因是_。【北京理工大学 2003 年】(分数:2.00)A.资源共享B.并发执行的进程太多C.进程推进顺序非法D.以上 3 个因素全是 解析:解析:考查产生死锁的原因。产生死锁的根本原因可归结为两点:竞争资源。为多个进程所共享的资源不足,引起它们对资源的竞争而产生死锁。进程推进顺序不当。进程运行过程中,请求和释放资源的顺序不当,而导致进程死锁。资源共享和并发

30、执行的进程太多造成竞争资源。27.死锁的避免是根据_采取措施实现的。【北京理工大学 2002 年】(分数:2.00)A.配置足够的系统资源B.使进程的推进顺序合理C.防止死锁的四个必要条件之一D.防止系统进入不安全状态 解析:解析:考查死锁的避免。这里需要区分死锁的预防和避免。预防死锁是在进程申请资源时采取措施,这些措施基于产生死锁的必要条件,通过破坏其中一个或几个,来防止发生死锁。由于预防死锁是一种保守的方法,系统资源利用率比较低,所以通常采用避免死锁。避免死锁不在进程申请资源时进行干涉,而是在资源的动态分配过程中,使用某种算法来防止系统进入不安全状态,从而避免死锁的发生。28.若系统中有

31、5 台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许_个进程参与竞争,而不会发生死锁。【武汉理工大学 2005 年】(分数:2.00)A.5B.2C.3D.4 解析:解析:考查死锁。若有 5 个进程竞争绘图仪,则可能出现每个进程各占一台不释放的情况。29.3 个进程共享 4 个同类资源,这些资源的分配与释放只能一次一个。已知每个进程最多需要两个该类资源,则该系统_。【华中科技大学 2001 年】(分数:2.00)A.有某进程可能永远得不到该类资源B.必然有死锁C.进程请求该类资源立刻能得到D.必然无死锁 解析:解析:考查死锁。不会发生死锁。因为每个进程都分得一个资

32、源时,还有一个资源可以让任意一个进程满足,这样这个进程可以顺利地运行完成进而释放它的资源。二、1 综合题(总题数:10,分数:20.00)30.面包师有很多面包,由 n 个销售人员推销。每个顾客进店后取一个号,并且等待叫号,当一个销售人员空闲下来时,就叫下一个号。试设计一个使销售人员和顾客同步的算法。【北京航空航天大学 2001 年】(分数:2.00)_正确答案:(正确答案:顾客进店后按序取号,并等待叫号;销售人员空闲之后也是按序叫号,并销售面包。因此同步算法只要对顾客取号和销售人员叫号进行合理的同步即可。我们使用两个变量 i 和 j 分别记录当前的取号值和叫号值,并各自使用一个互斥信号量用于

33、对 i 和 j 的访问和修改。 int i=0,j=0; semaphore mutexi=1,mutexj=1; 顾客 Consumer() 进入面包店; P(mutexi); 取号 i; i+; V(mutexi), 等待叫号 i 并购买面包; 销售人员 Seller() while(1) P(mutexj); if(J解析:31.假设缓冲区 buf1 和缓冲区 buf2 无限大,进程 p1 向 buf1 写数据,进程 p2 向 buf2 写数据,要求bufll 数据个数和 buf2 数据个数的差保持在m,n(mn,m、n 都是正数)之间。【浙江大学 2001 年】(分数:2.00)_正确

34、答案:(正确答案:题中没有给出两个进程执行顺序之间的制约关系,只给出了一个数量上的制约关系,即 mbuf数据个数一 bur2 数据个数 Jn。不需要考虑缓冲区的大小,只需要考虑两个进程的同步和互斥。p2 向 buf2 写数据比 p1 向 buf1 写数据的次数最少不超过 m 次,最多不能超过 n 次,反之也成立。所以是一个生产者和消费者问题。将等式展开得 1)m(buf1 数据个数一 bur2 数据个数)n;2)m(buf2数据个数一 buf1 数据个数)n;由于 m、n 都是正数,等式只有一个成立,不妨设 1)成立。在进程 p1 和p2 都没有运行时,两个缓冲区数据个数之差为 0,因此,p1

35、 必须先运行,向 buf1 至少写 m+1 个数据后再唤醒 p2 运行。信号量 s1 表示 p1 一次写入的最大量,初值为 n,s2 表示 p2 一次写入的最大量,初值为一m。 semaphore mutex1=1,mutex2=1,S1=n,s2=一 m; P1() while(1) get data; P(S1); P(mutex1), 写数据到 buf1; v(mutex1); v(s2); p2() while(1) get data; P(S2); P(mutex2);写数据到 buf2, v(mutex2); V(S1); 注 tpl 和 p2 每次执行时需要进行一些额外的操作。对

36、于 p2来说,它首先必须在自己的缓冲区 buf2 中写入至少 m 个数据,此后 p1 和 p2 的同步可简单地通过两个信号量来控制。题目的一个变形是要求:一 m(buf2 数据个数-buf1 数据个数)n,那么信号量的初值就变成 m 和 n,若只有 p1 向 buf1 放入数据,而 p2 不放入数据到 bur2 中,则 p1 最多可放 m 次。因此,设置信号量 s1,初值为 m,此外,每当 p2 放入一个数据到 bur2 中时,则使信号量 s1 增 1,即 p1 增加一次放入数据到 buf1 的机会。反之,若只有 p2 向 buf2 放入数据而 p1 不放入数据到 buf1 中,则 p2 最多

37、可放n 次。因此,设置信号量 s2 初值为 n,此外,每当 p1 放入一个数据到 buf1 中时,则使信号量 s2 增 1,即 p2 增加一次放入数据到 bufl 的机会。)解析:32.某工厂有两个生产车间和一个装配车间,两个生产车间分别生产 A、B 两种零件,装配车间的任务是把A、B 两种零件组装成产品。两个生产车间每生产一个零件后都要分别把它们送到装配车间的货架 F1、F2上。F1 存放零件 A,F2 存放零件 B,F1 和 F2 的容量均可以存放 10 个零件。装配工人每次从货架上取一个 A 零件和一个 B 零件后组装成产品。请用 P、V 操作进行正确管理。【南京大学 1999 年】(分

38、数:2.00)_正确答案:(正确答案:本题是生产者消费者问题的变形,生产者“车间 A”和消费者“装配车间”共享缓冲区“货架 F1”;生产者“车间 B”和消费者“装配车间”共享缓冲区“货架 F2”。因此,可为它们设置 6 个信号量,其中,empty1 对应货架 1 上的空闲空间,其初值为 10:full1 对应货架 l 上面的 A产品,其初值为 0;empty2 对应货架 2 上的空闲空间,其初值为 10;ful12 对应货架 2 上面的 B 产品,其初值为 0:mutex1 用于互斥地访问货架 1,其初值为 1;mutex2 用于互斥地访问货架 2,其初值为 1。A 车间的工作过程可描述为 w

39、hile(1) 生产一个产品 A; p(empty1); P(mutex1); 将产品 A 存放到货架 F1上; V(mutex1); V(fulll); B 车间的工作过程可描述为 while(1) 生产一个产品 B; P(empty2); P(mutex2); 将产品 B 存放到货架 F2 上, V(mutex2); V(full2); 装配车间的工作过程可描述为 while(1) P(full1); P(mutex1); 从货架 F1 上取一个 A 产品; V(mutex1); V(emptY1); P(full2); P(mutex2); 从货架 F2 上取一个 B 产品; V(mut

40、ex2); V(empty2); 将取得的 A 产品和 B 产品组装成产品; )解析:33.某寺庙,有小、老和尚若干,有一水缸,由小和尚提入水缸供老和尚饮用。水缸可容 10 桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为 3 个。每次入缸取水仅为 1 桶水,且不可同时进行。试给出有关从缸取水、入水的算法描述。(分数:2.00)_正确答案:(正确答案: semaphore weli=i; 用于互斥地访问水井 semaphore vat=1; 用于互斥地访问水缸 semaphore empty=10; 用于表示水缸中剩余空间能容纳的水的桶数 semaphore fuli=0 ;

41、表示水缸中的水的桶数 semaphore pail=3; 用于互斥地访问水桶 老和尚 while(1) wait(full); wait(pail); wait(vat), 从水缸中打一桶水; Signal(vat), signal(emptY);喝水; Signal(pall); 小和尚 while(1) wait(empty); wait(pall); wait(well), 从井中打一桶水; signal(well); wait(vat); 将水倒入水缸中; signal(vat); Signal(full); Signal(pail); )解析:34.如图 2-2 所示,三个合作进程

42、P1、P2、P3,它们都需要通过同一设备输入各自的数据 a、b、c,该输入设备必须互斥地使用,而且其第一个数据必须由 P1 进程读取,第二个数据必须由 P2 进程读取,第三个数据则必须由 P3 进程读取。然后,三个进程分别对输入数据进行下列计算: (分数:2.00)_正确答案:(正确答案:为了控制三个进程依次使用输入设备进行输入,需分别设置三个信号量s1、s2、s3,其中 S1 的初值为 1。s2 和 S3 的初值为 0。使用上述信号量后,三个进程不会同时使用输入设备。故不必再为输入设备设置互斥信号量。另外,还需要设置信号量 sb、Sy、Sz 来表示数据 b 是否已经输入,以及 Y、Z 是否已

43、计算完成,它们的初值均为 0。三个进程的动作可描述为 P1() P(S1); 从输入设备输入数据 a; V(S2), P(Sb), x=a+b; P(Sy); P(Sz); 使用打印机打印出 x、y、z 的结果; P2() P(S2); 从输入设备输入数据 b; V(S3); VSb); y=a*b, V(Sy); V(Sy); P3() P(S3); 从输入设备输入数据 c; P(Sy); Z=y+ca; V(Sz); )解析:35.我们将只读数据的进程称为“读者”进程,而写或者修改数据的进程称为“写者”进程,允许多个“读者”同时读数据,但不允许写者与其他读者或者写者进程同时访问数据。另外要保证:一旦有写者等待,新到达的读者必须等待,直到该写者完成数据访问为止,用 PV 操作实现读者、写者同步。【北京航空航天大学 2005 年】(分数:2.00)_正确答案:(正确答案:这是一个“写优先”的读者写者问题。在经典的“读优先”的读者一写者问题的 PV 操作中,只要再增加一个信号量 w=1,用以在写进程到达时封锁后续进程,即可实现“写优先”。 int count=

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

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

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