1、计算机专业基础综合(进程管理)-试卷 4及答案解析(总分:52.00,做题时间:90 分钟)一、单项选择题(总题数:16,分数:32.00)1.单项选择题 1-40小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_2.临界区是指( )。(分数:2.00)A.一组临界资源的集合B.可共享的一块内存区C.访问临界资源的一段代码D.请求访问临界资源的代码3.在一段时间内,只允许一个进程访问的资源称为( )。(分数:2.00)A.共享资源B.独占资源C.临界资源D.共享区4.不需要信号量能实现的功能是( )。(分数:2.00)A.进程同步B.进程互斥C.执行的前趋关系
2、D.进程的并发执行5.当中断发生后,进入中断处理的程序属于( )。(分数:2.00)A.用户程序B.OS程序C.可能是用户程序,也可能是 OS程序D.单独的程序,既不是用户程序,也不是 OS程序6.某计算机系统中有 8台打印机,有 K个进程竞争使用,每个进程最多需要 3台打印机。该系统可能会发生死锁的 K的最小值是( )。(分数:2.00)A.2B.3C.4D.57.进程 P0和 P1的共享变量定义及其初值如下: boolean flag2; int turn=0; flag0=false; flag1=false; 若进程 P0和 P1访问临界资源的伪代码按照下面设计: void P0()进
3、程 P0 void P1()进程 P1 while(TRUE) while(TRUE) flag0=TRUE; flag0=TRUE; turn=1;turn=0; while(nag1&(turn=1) while(nag0&(torn=0) 临界区; 临界区; flag0=FALSE; flag1=FALSE; 则并发执行进程 P0和 P1时产生的情况是( )。(分数:2.00)A.不能保证进程互斥进入临界区,会出现“饥饿”现象B.不能保证进程互斥进入临界区,不会出现“饥饿”现象C.能保证进程互斥进入临界区,会出现“饥饿”现象D.能保证进程互斥进入临界区,不会出现“饥饿”现象8.下列选项中
4、,降低进程优先级的合理时机是( )。(分数:2.00)A.进程的时间片用完B.进程刚完成 IO,进入就绪列队C.进程长期处于就绪列队D.进程从就绪状态转为运行状态9.假设与某类资源相关联的信号量初值为 3,当前值为 1,若 M表示该资源的可用个数,N 表示等待该资源的进程数,则 M、N 分别是( )。(分数:2.00)A.0、1B.1、0C.1、2D.2、010.下列选项中,导致创建新进程的操作是( )。 I用户登录成功 设备分配 启动程序执行(分数:2.00)A.仅和B.仅和C.仅和D.、11.下列选项中,操作系统提供给应用程序使用的接口是( )。(分数:2.00)A.系统调用B.中断C.库
5、函数D.原语12.下列进程调度算法中,综合考虑了进程等待时间和执行时间的是( )。(分数:2.00)A.时间片轮转调度算法B.最短进程优先调度算法C.先来先服务调度算法D.高响应比优先调度算法13.单处理机系统中,可并行的是( )。 进程与进程 处理机与设备 处理机与通道 设备与设备(分数:2.00)A.、和B.、和C.、和D.、和14.如果有一个进程从运行状态变成等待状态,或完成工作后就撤销,则必定会发生( )。(分数:2.00)A.进程切换B.存储器再分配C.时间片轮转D.死锁15.在时间片轮转算法中,( )的大小对计算机性能有很大影响。(分数:2.00)A.对换B.分页C.时间片D.程序
6、段16.在操作系统中,资源分配、调度和管理的最小单位是( )。(分数:2.00)A.进程B.线程C.作业D.程序段二、综合应用题(总题数:8,分数:20.00)17.综合应用题 41-47小题。_18.简述预防死锁的办法。(分数:2.00)_19.为使用户进程互斥地进入临界区,可以把整个临界区实现成不可中断的过程,即用户有屏蔽所有中断的能力。每当用户程序进入临界区的时候,屏蔽所有中断;当出了临界区的时候,再开放所有中断。你认为这种方法有什么缺点?(分数:2.00)_20.有三个进程 PA、PB 和 PC合作解决文件打印问题:PA 将文件记录从磁盘读入主存的缓冲区 1,每执行一次读一个记录;PB
7、 将缓冲区 1的内容复制到缓冲区 2,每执行一次复制一个记录;PC 将缓冲区 2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录的大小。请用 P、V 操作来保证文件的正确打印。(分数:2.00)_21.在一间酒吧里有 3个音乐爱好者队列,第 l队的音乐爱好者只有随身听,第 2队只有音乐磁带,第 3队只有电池。而要听音乐就必须随身听、音乐磁带和电池这 3种物品俱全。酒吧老板一次出售这 3种物品中的任意两种。当名音乐爱好者得到这 3种物品并听完一首乐曲后,酒吧老板才能再一次出售这 3种物品中的任意两种。于是第 2名音乐爱好者得到这 3种物品,并开始听乐曲。全部买卖就这样进行下去。试
8、用 P、V 操作正确解决这一买卖。(分数:2.00)_兄弟俩共同使用一个账号,每次限存或取 10元,存钱与取钱的进程分别如下所示: int amount=0: SAVE() TAKE() int m1; int m2: m1=amount; m2=amount; m2=m210: amount=m2; m1=m1+10: amount=m1: 由于兄弟俩可能同时存钱和取钱,因此两个进程是并发的。若哥哥先存了两次钱,但在第三次存钱时弟弟在取钱。请问:(分数:4.00)(1).最后账号 amount上面可能出现的值是多少?(分数:2.00)_(2).如何用 P、V 操作实现两并发进程的互斥执行?(
9、分数:2.00)_某系统有 R1、R2 和 R3三种资源,在 T 0 时刻 P1、P2、P3 和 P4四个进程对资源的占用和需求情况如下表所示,此时系统的可用资源向量为(2,1,2)。 (分数:6.00)(1).系统是否处于安全状态?如安全,请给出一个安全序列。(分数:2.00)_(2).如果此时 P1和 P2均发出资源请求向量 Request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程,7 说明你所采用的策略的原因。(分数:2.00)_(3).如果(2)中两个请求立即得到满足,系统此刻是否处于死锁状态?(分数:2.00)_22.系统有 5个进程,其就绪时刻(指在该时刻已
10、进入就绪队列)、服务时间如下表所示。分别计算采用先来先服务、短作业优先、高响应比优先的平均周转时间和带权周转时间。 (分数:2.00)_计算机专业基础综合(进程管理)-试卷 4答案解析(总分:52.00,做题时间:90 分钟)一、单项选择题(总题数:16,分数:32.00)1.单项选择题 1-40小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_解析:2.临界区是指( )。(分数:2.00)A.一组临界资源的集合B.可共享的一块内存区C.访问临界资源的一段代码 D.请求访问临界资源的代码解析:解析:每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允
11、许一个进程使用的可轮流分享的资源)。使用时,每次只准许一个进程进入临界区,一旦一个进程进入临界区之后,不允许其他进程同时进入。 进程进入临界区的调度原则是: (1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 (2)任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待。 (3)进入临界区的进程要在有限时间内退出,以便其他进程能及时进入自己的临界区。 (4)如果进程不能进入自己的临界区,则应让出 CPU,避免进程出现“忙等”现象。3.在一段时间内,只允许一个进程访问的资源称为( )。(分数:2.00)A.共享资源B.独占资源
12、C.临界资源 D.共享区解析:解析:在现代计算机系统中,有一些资源不能被多个进程同时使用,这样的资源如果使用或分配不当会造成错误,它们只能被排他地使用,这样的资源就是临界资源。4.不需要信号量能实现的功能是( )。(分数:2.00)A.进程同步B.进程互斥C.执行的前趋关系D.进程的并发执行 解析:解析:本题考查信号量的功能。在多道程序系统中,信号量机制是一种有效的实现进程同步与互斥的工具。进程执行的前趋关系实质上是指进程的同步关系。除此以外,只有进程的并发执行不需要信号量来控制,因此正确答案为 D。5.当中断发生后,进入中断处理的程序属于( )。(分数:2.00)A.用户程序B.OS程序 C
13、.可能是用户程序,也可能是 OS程序D.单独的程序,既不是用户程序,也不是 OS程序解析:解析:在现代操作系统的设计中,为了保证系统的安全,将系统的工作状态划分为目态和管态两种,只有操作系统的核心才能工作在管态,而中断处理程序必须工作在管态,故其属于操作系统程序。6.某计算机系统中有 8台打印机,有 K个进程竞争使用,每个进程最多需要 3台打印机。该系统可能会发生死锁的 K的最小值是( )。(分数:2.00)A.2B.3C.4 D.5解析:解析:当 K14的时候,就构成了死锁需要的条件,会引起死锁的产生,所以答案为 C。7.进程 P0和 P1的共享变量定义及其初值如下: boolean fla
14、g2; int turn=0; flag0=false; flag1=false; 若进程 P0和 P1访问临界资源的伪代码按照下面设计: void P0()进程 P0 void P1()进程 P1 while(TRUE) while(TRUE) flag0=TRUE; flag0=TRUE; turn=1;turn=0; while(nag1&(turn=1) while(nag0&(torn=0) 临界区; 临界区; flag0=FALSE; flag1=FALSE; 则并发执行进程 P0和 P1时产生的情况是( )。(分数:2.00)A.不能保证进程互斥进入临界区,会出现“饥饿”现象 B
15、.不能保证进程互斥进入临界区,不会出现“饥饿”现象C.能保证进程互斥进入临界区,会出现“饥饿”现象D.能保证进程互斥进入临界区,不会出现“饥饿”现象解析:解析:从题中给出的伪代码可知,由于信号量 flag的赋值方法不对,因此会使得不能保证进程互斥进入临界区,会出现“饥饿”现象。8.下列选项中,降低进程优先级的合理时机是( )。(分数:2.00)A.进程的时间片用完 B.进程刚完成 IO,进入就绪列队C.进程长期处于就绪列队D.进程从就绪状态转为运行状态解析:解析:在此题中,进程完成 IO,进入就绪队列;长期处于就绪队列的进程需要尽快得到处理机为它服务,进程从就绪状态转为运行状态的时候也不能降低
16、进程的优先级,只有在进程的时间片用完才是降低进程优先级的最好时机。9.假设与某类资源相关联的信号量初值为 3,当前值为 1,若 M表示该资源的可用个数,N 表示等待该资源的进程数,则 M、N 分别是( )。(分数:2.00)A.0、1B.1、0 C.1、2D.2、0解析:解析:按照信号量的定义,与资源相关联的信号量的取值是与当前可用资源数量一致的,因此 M为 1,而依题意,目前没有等候该资源的进程,故 N的值为 0。10.下列选项中,导致创建新进程的操作是( )。 I用户登录成功 设备分配 启动程序执行(分数:2.00)A.仅和B.仅和C.仅和 D.、解析:解析:用户登录成功、启动程序执行均会
17、导致创建新进程,而设备分配则不会。11.下列选项中,操作系统提供给应用程序使用的接口是( )。(分数:2.00)A.系统调用 B.中断C.库函数D.原语解析:解析:在现代操作系统中,操作系统提供了包括系统调用、命令接口、图形接口等方便用户使用系统资源的接口,在上述接口中,只有系统调用是提供给程序使用的。12.下列进程调度算法中,综合考虑了进程等待时间和执行时间的是( )。(分数:2.00)A.时间片轮转调度算法B.最短进程优先调度算法C.先来先服务调度算法D.高响应比优先调度算法 解析:解析:在若干进程调度算法中,时间片轮转调度算法考虑的是时间分配上的均衡,最短进程优先调度算法主要考虑的是短作
18、业的等待时间,先来先服务调度算法考虑的是到达顺序的合理性,而只有高响应比优先调度算法做到了综合考虑进程等待时间和执行时间。13.单处理机系统中,可并行的是( )。 进程与进程 处理机与设备 处理机与通道 设备与设备(分数:2.00)A.、和B.、和C.、和D.、和 解析:解析:在单处理机系统中,仅有一个处理机,所以在一个特定的时刻只能有一个进程能够获得处理机的使用权,因而排除选项 A、B 和 C,只有选项 D是合理的答案。14.如果有一个进程从运行状态变成等待状态,或完成工作后就撤销,则必定会发生( )。(分数:2.00)A.进程切换 B.存储器再分配C.时间片轮转D.死锁解析:解析:此题主要
19、考查进程切换的相关内容。进程调度将从就绪队列中另选一个进程占用处理机。使一个进程让出处理要,由另一个进程占用处理机的过程称为进程切换。若有一个进程从运行状态变成等待状态,或者进程完成工作后被撤销,则必定会发生进程切换;若一个进程从等待状态变成就绪状态,则不一定会发生进程切换。15.在时间片轮转算法中,( )的大小对计算机性能有很大影响。(分数:2.00)A.对换B.分页C.时间片 D.程序段解析:解析:此题主要考查在时间片轮转算法中时间片大小对于系统性能的重要性。在时间片轮转算法中,时间片的大小对计算机性能有很大影响。如果时间片划分不当,则系统不能提供令用户满意的响应时间。时间片的大小应选择得
20、适当,通常要考虑以下几个因素: (1)系统对响应时间的要求; (2)就绪队列中进程的数目; (3)系统的处理能力。16.在操作系统中,资源分配、调度和管理的最小单位是( )。(分数:2.00)A.进程 B.线程C.作业D.程序段解析:解析:此题主要考查进程调度的基本概念等相关内容。进程的引入可以更好地描述系统中的并发活动。它被定义为一个具有独立功能的程序关于某个数据集合的一次运行活动。在操作系统中,进程是进行系统资源分配、调度和管理的最小独立单位,操作系统的各种活动都与进程有关。二、综合应用题(总题数:8,分数:20.00)17.综合应用题 41-47小题。_解析:18.简述预防死锁的办法。(
21、分数:2.00)_正确答案:(正确答案:(1)方法一:如果系统当前存在的资源数量能够满足进程的资源需求,便一次性地为进程分配其所需的全部资源;在该进程完成之后再一次性地回收全部资源。这个做法被称为摒弃“请求和保持”条件,该方法可以预防死锁。 (2)方法二:当系统中某些进程在已经占有一定数量资源的情况下,又提出新的资源请求,操作系统不能立即满足该进程的需求时,该进程必须立即释放已经占有和保持的所有资源,待以后需要时再重新申请;这种可以剥夺进程资源的做法可以有效地防止死锁的产生。其被称为摒弃“不可剥夺”条件。 (3)方法三:就是采用一定的方法,将所有可提供的资源按类型排序编号,所有进程对资源的请求
22、也必须严格按序号递增的次序提出,避免产生资源占有和资源需求的回路出现,造成死锁的产生。此方法也被称为摒弃“环路等待”条件。)解析:19.为使用户进程互斥地进入临界区,可以把整个临界区实现成不可中断的过程,即用户有屏蔽所有中断的能力。每当用户程序进入临界区的时候,屏蔽所有中断;当出了临界区的时候,再开放所有中断。你认为这种方法有什么缺点?(分数:2.00)_正确答案:(正确答案:此题主要考查中断概念在操作系统设计过程中的重要作用与临界区的概念。 用户进程进入临界区时屏蔽所有中断,包括系统程序的中断。假如屏蔽的是用户进程,确实可以保护临界资源,但如果连系统所发出的中断也被屏蔽的话,就会引起系统错误
23、。虽然系统外中断往往与当前运行的程序无关,但如果是一些重要的硬件中断,如电源故障等,就可能会引起错误,故不可盲目屏蔽所有中断。)解析:20.有三个进程 PA、PB 和 PC合作解决文件打印问题:PA 将文件记录从磁盘读入主存的缓冲区 1,每执行一次读一个记录;PB 将缓冲区 1的内容复制到缓冲区 2,每执行一次复制一个记录;PC 将缓冲区 2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录的大小。请用 P、V 操作来保证文件的正确打印。(分数:2.00)_正确答案:(正确答案:(1)进程 PA、PB、PC 之间的关系为:PA 与 PB共用一个单缓冲区,PB 又与 PC共用一个单
24、缓冲区,其合作方式如下图所示。当缓冲区 1为空时,进程 PA可将一个记录读入其中;若缓冲区1中有数据且缓冲区 2为空,则进程 PB可将记录从缓冲区 1复制到缓冲区 2中;若缓冲区 2中有数据,则进程 PC可以打印记录。 其他条件下,相应进程必须等待。事实上,这是一个生产者一消费者问题。)解析:21.在一间酒吧里有 3个音乐爱好者队列,第 l队的音乐爱好者只有随身听,第 2队只有音乐磁带,第 3队只有电池。而要听音乐就必须随身听、音乐磁带和电池这 3种物品俱全。酒吧老板一次出售这 3种物品中的任意两种。当名音乐爱好者得到这 3种物品并听完一首乐曲后,酒吧老板才能再一次出售这 3种物品中的任意两种
25、。于是第 2名音乐爱好者得到这 3种物品,并开始听乐曲。全部买卖就这样进行下去。试用 P、V 操作正确解决这一买卖。(分数:2.00)_正确答案:(正确答案:(1)第 1队音乐爱好者要竞争“待出售的音乐磁带和电池”,而且在初始状态下系统并无“待出售的音乐磁带和电池”,故可为该种资源设置一初值为 0的信号量 buy1;同样,需设置初值为 0的 buy2、buy3 分别对应“待出售的随身听和电池”、“待出售的随身听和音乐磁带”。另外,为了同步买者的付费动作和卖者的给货动作,还需设置信号量 payment和 goods,以保证买者在付费后才能得到所需商品。信号量 music_over用来同步音乐爱好
26、者听乐曲和酒吧老板的下一次出售行为。 (2)具体的算法描述如下: semaphore buy1=buv2=buy3=0: semaphore payment=0: semaphore goods=0; semaphore music_over=0; cobegin process boss() 酒吧老板 while(TRUE) 拿出任意两种物品出售; if(出售的是音乐磁带和电池)V(buyl); else if(出售的是随身听和电池)V(buy2); else if(出售的是随身听和音乐磁带)V(buy3); P(payment); 等待付费 V(goods); 给货 P(music_ove
27、r);等待乐曲结束 process fanl() 第 1队音乐爱好者 while(TRUE) P(buy1); 等待有音乐磁带和电池出售 V(payment); 付费 P(goods); 取货 欣赏一曲乐曲; V(music_over); 通知老板乐曲结束 process fan2() 第 2队音乐爱好者 while(TRUE) P(buy2); 等待有随身听和电池出售 V(payment); 付费 P(goods); 取货 欣赏一曲乐曲; V(music_over);通知老板乐曲结束 process fan3() 第 3队音乐爱好者 while(TRUE) P(buy3); 等待有随身听和音
28、乐磁带出售 V(payment); 付费 P(goods); 取货 欣赏一曲乐曲: V(music_over);通知老板乐曲结束 coend)解析:兄弟俩共同使用一个账号,每次限存或取 10元,存钱与取钱的进程分别如下所示: int amount=0: SAVE() TAKE() int m1; int m2: m1=amount; m2=amount; m2=m210: amount=m2; m1=m1+10: amount=m1: 由于兄弟俩可能同时存钱和取钱,因此两个进程是并发的。若哥哥先存了两次钱,但在第三次存钱时弟弟在取钱。请问:(分数:4.00)(1).最后账号 amount上面可
29、能出现的值是多少?(分数:2.00)_正确答案:(正确答案:哥哥存两次钱后,共享变量 amount的值为 20。哥哥的第三次存钱与弟弟的取钱同时进行,如果两者顺序执行,则最后 amount的值为 20;如果在一个进程的执行过程中进行 CPU调度,转去执行另一进程,则最后 amount的值取决于 amount=ml及 amount=m2的执行先后次序,若前者先执行,则最后 amount的值为 10,若后者先执行,则最后 amount的值为 30。因此,最后账号 amount上可能出现的值有 10、20、30。)解析:(2).如何用 P、V 操作实现两并发进程的互斥执行?(分数:2.00)_正确答
30、案:(正确答案:在上述问题中,共享变量 amount是一个临界资源,为了实现两并发进程对它的互斥访问,可为它设置一初值为 1的互斥信号量 mutex,并将上述算法修改为: int amount=0; semaphore mutex=1; 互斥访问 amount变量的信号量 cobegin process SAVE() int ml; P(mutex): ml=amount; ml=ml+10; amount=m1; V(mutex); process TAKE() int m2; P(mutex);m2 amount; m2=m2-10: amount=m2; V(mutex); coend)
31、解析:某系统有 R1、R2 和 R3三种资源,在 T 0 时刻 P1、P2、P3 和 P4四个进程对资源的占用和需求情况如下表所示,此时系统的可用资源向量为(2,1,2)。 (分数:6.00)(1).系统是否处于安全状态?如安全,请给出一个安全序列。(分数:2.00)_正确答案:(正确答案:利用安全性算法对 T 0 时刻的资源分配情况进行分析,可得到如下表所示的安全性检测情况。可以看出,此时存在一个安全序列P2,P3,P4,P1,故该系统是安全的。 )解析:(2).如果此时 P1和 P2均发出资源请求向量 Request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程,7 说
32、明你所采用的策略的原因。(分数:2.00)_正确答案:(正确答案:若此时 P1发出资源请求 Request1(1,0,1),按银行家算法进行检查: Request1(1,0,1)Need1(2,2,2) Request1(1,0,1)AVailable(2,1,2) 试分配并修改相应的数据结构,由此形成的资源分配情况如下表所示。 )解析:(3).如果(2)中两个请求立即得到满足,系统此刻是否处于死锁状态?(分数:2.00)_正确答案:(正确答案:如果(2)中两个请求立即得到满足,此刻系统并没有立即进入死锁状态,因为这时所有进程没有提出新的资源申请,全部进程均没有因资源请求没有得到满足而进入阻塞
33、状态。只有当进程提出资源请求,且全部进程都进入阻塞状态时,系统才处于死锁状态。)解析:22.系统有 5个进程,其就绪时刻(指在该时刻已进入就绪队列)、服务时间如下表所示。分别计算采用先来先服务、短作业优先、高响应比优先的平均周转时间和带权周转时间。 (分数:2.00)_正确答案:(正确答案:(1)采用先来先服务调度时,执行作业的次序为 P1、P2、P3、P4、P5,如下表所示。 (2)采用短作业优先调度时,执行作业的次序为 P1、P2、P5、P3、P4,如下表所示。 (3)采用高响应比优先调度时,响应比=响应时间运行时间。在时刻 0,只有进程 P1就绪,执行 P1,在时刻3结束。此时刻只有 P2就绪,执行 P2,在时刻 9结束。此时刻 P3、P4、P5 均就绪,计算它们的响应比分别为 225、16、15,则选择执行 P3,在时刻 13结束。此时刻 P4、P5 均就绪,计算它们的响应比分别为 24、35,则选择执行 P5,在时刻 15结束。此时刻只有 P4就绪,执行 P4,在时刻 20结束。整个执行作业的次序为 P1、P2、P3、P5、P4,如下表所示。 )解析: