1、进程的同步与通信练习试卷 1及答案与解析 一、单项选择题 1 对若干个并发进程共享某 变量的相关临界区的管理,下列说法中不正确的是( )。 ( A)相关的进程可以同时进入 ( B)不能强迫一个进程无限地等待进入它的临界区 ( C)一次至多一个进程能够进入临界区 ( D)不能让一个进程无限制地在临界区执行 2 由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确, ( )。 ( A)造成不正确的因素只与外界的影响有关系 ( B)造成不正确的因素只与执行的速度 有关 ( C)造成不正确的因素与时间有关 ( D)造成不正确的因素只与进程占用处理器有关 3 相关临界区
2、是指 ( )。 ( A)一个共享资源 ( B)并发进程中涉及相同变量的那些程序段 ( C)并发进程中与共享变量有关的程序段 ( D)一个独占资源 4 并发进程之间的关系是 ( )。 ( A)无关的 ( B)相关的 ( C)可能相关的 ( D)可能是无关的,也可能是有交往的 5 下列关于 P、 V操作的说法中正确的是 ( )。 ( A) P、 V操作是两个操作,而且都是原语操作 ( B) P、 V操作中 P操作可以不用原语方式,而 V操作必须使用原语操作 ( C) P、 V操作是一个过程,同一般函数,过程一样,只是执行管理临界区的操作 ( D) P、 V操作中 P操作必须使用原语方式,而 V操作
3、可以不使用原语操作 6 如果有 4个进程共享同一程序段,每次允许 3个进程进入该程序段,若用 P、 V操作作为同步机制,则信号量的取值范围是 ( )。 ( A) 4, 3, 2, 1, -1 ( B) 2, 1, 0, -1, -2 ( C) 3, 2, 1, 0, -1 ( D) 2, 1, 0, -2, -3 二、填空题 7 当一个进程独占处理器顺序执 行时,具有两个特性: _和 _。 8 我们说可同时执行的进程具有并发性,并且把可同时执行的进程称为 _。 9 我们把并发进程中与共享变量有关的程序段称为 _; _是指并发进程中涉及相同变量的那些程序段。 10 P、 V操作是对 _操作。 1
4、1 _是指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放了该资源。 12 _是指并发进程之间存在一种制约关系, 一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。 13 目前常用的高级通信方式有 _、 _和 _。 14 用信箱实现进程间互通信息的通信机制要有两个通信原语,它们是 _和_。 三、判断改错题 15 在生产者和消费者进程中, V操作的次序无关紧要,而 P操作的次序不能颠倒。 ( ) ( A)正确 ( B)错误 16 在源程序中, P操作和 V操作应该成对出现
5、。 ( ) ( A)正确 ( B)错误 四、简答题 17 试说明如果 P、 V操作不是不可分割执行的,就会违反互斥性。 18 简述生产者 /消费者问题,并给出几个生产者 /消费者的简例。 五、应用题 19 一个理发店由一个有几张椅子的等候室和一个放有一张理发椅的理发室组成。若没有要理发的顾客,则理发师就去睡觉;若一顾客走进理发店且所有的椅子都被占用了,则该顾客就离开理发店;若理发师正在为人理发,则该顾客就找一张空椅子坐下等待;若两位理发师在睡觉,则顾客就唤醒他。试设计一个协调理发师和顾客的程序。 进程的同步与通信练习试卷 1答案与解析 一、单项选择题 1 【正确答案】 A 【知识模块】 进程的
6、同步与通信 2 【正确答案】 C 【知识模块】 进程的同步与通信 3 【正确答案】 B 【知识模块】 进程的同步与通信 4 【正确答案】 D 【知识模块】 进程的同步与通信 5 【正确答案】 A 【知识模块】 进程的同步与通信 6 【正确答案】 C 【知识模块】 进程的同步与通信 二、填空题 7 【正确答案】 封闭性;可再现性 【知识模块】 进程的同步与通信 8 【正确答案 】 并发进程 【知识模块】 进程的同步与通信 9 【正确答案】 临界区;相关临界区 【知识模块】 进程的同步与通信 10 【正确答案】 信号量 【知识模块】 进程的同步与通信 11 【正确答案】 进程的互斥 【知识模块】
7、进程的同步与通信 12 【正确答案】 进程的同步 【知识模块】 进程的同步与通信 13 【正确答案】 信箱通信;消息缓冲通信;管道通信 【知识模块】 进程的同步与通信 14 【正确答案】 发送原语;接收原语 【知识模块】 进 程的同步与通信 三、判断改错题 15 【正确答案】 A 【知识模块】 进程的同步与通信 16 【正确答案】 B 【试题解析】 应改为: P、 V操作在程序相关的任一执行流程上应成对出现,但在源程序中可能不是成对的。 【知识模块】 进程的同步与通信 四、简答题 17 【正确答案】 假定信号量 S=1,且进程 P1和 P2并发地执行 P(S),那么,下面的执行序列就违反了互斥
8、性: . TO: P1判定 S之值等于 1; . T1: P2判写 S之值等于 1; . T2: P1将 S减 1并进入临界段; . T3: P2将 S减 1并进入临界段 【知识模块】 进程的同步与通信 18 【正确答案】 在生产者来 “生产 ”出一个结果之前,不允许消费者使用那个结果;若缓冲区全满,则不允许生产者 “生产 ”任何结果,即在消费者未 “消费 ”一个结果之前,不允许生产者 “生产 ”出 “新 ”结果。比如:编译程序连接程序,连接程序装配程序,卡片阅读机 /行式打印机。 【知识模块】 进程的同步与通信 五、应用题 19 【正确答案】 共享数据结构是: var barber,wait
9、:semaphore;初始值 =0 entry:semaphore;初始值 =1 couter:integer; 初始值 =0 关于理发师的代码段: repeat p(barber); “share“ until false; 关于顾客的代码段: p(entry); if count=n then exit; count:=count+1; if count 1 then begin v(eatry); p(wait); end else begin v(entry); v(barber); “share“ p(entry); count:=count-1; if count 0 then v(wait); v(entry); end 【知识模块】 进程的同步与通信