习题三 同步、通信与死锁
一、单项选择题
1、在单一处理机上,将执行时间有重叠的几个程序称为( )。
A.顺序程序 B. 多道程序 C.并发程序 D. 并行程序
2、进程间的基本关系为( )。
A.相互独立与相互制约 B. 同步与互斥
C.并行执行与资源共享 D. 信息传递与信息缓冲
3、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的( )关系。
A.同步 B. 互斥 C.竞争 D. 合作
4、在一段时间内,只允许一个进程访问的资源称为( )。
A. 共享资源 B. 临界区 C. 临界资源 D. 共享区
5、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是( )。
A. S>0 进程间通信和线程间通信的区别 B. S=0 C. S<0 D. S 0
6、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为( )。
A.10 B.8 C.6 D.4
7、临界区是指( )。
A. 并发进程中用于实现进程互斥的程序段
B.并发进程中用于实现进程同步的程序段
C.并发进程中用户实现进程通信的程序段
D.并发进程中与共享变量有关的程序段
8、下列对线程的描述中,( )是错误的。
A.不同的线程可执行相同的程序 B.线程是资源的分配单位
C.线程是调度和执行单位 D.同一进程中的线程可共享该进程的主存空间
9、P, V操作是( )
A.两条低级进程通信原语 B.两组不同的机器指令
C.两条系统调用命令 D.两条高级进程通信原语
10、若P, V操作的信号量S初值为2,当前值为-1,则表示有( )等待进程。
A. 0个 B. 1个 C. 2个 D. 3个
11、( )是一种只能进行P操作和V操作的特殊变量.
A.调度 B.进程 C.同步 D.信号量
12、下面的叙述中正确的是( )。
A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同
B.为了避免发生进程死锁,各进程只能逐个申请资源
C.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关
的信息
D.进程同步是指某些进程之间在逻辑上的相互制约关系
13、对于两个并发进程,设互斥信号量为mutex,若mutex=0,则( ).
A.表示没有进程进入临界区
B.表示有一个进程进入临界区
C.表示有一个进程进入临界区,另一个进程等待进入
D.表示有两个进程进入临界区
14、发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破
坏( )条件是不太实际的。
A.互斥 B.不可抢占
C.部分分配 D.循环等待
15、资源的按序分配策略可以破坏( )条件。
A.互斥使用资源 B.占有且等待资源
C.非抢夺资源 D.循环等待资源
16、在( )的情况下,系统出现死锁。
A.计算机系统发生了重大故障
B.有多个封锁的进程同时存在
C.若干进程因竞争资源而无休止地相互等待他方释放己占有的资源
D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数
17、银行家算法是一种( )算法。
A.死锁解除 B.死锁避免
C.死锁预防 D.死锁检测
18、某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最
少资源数是( )。
A.9 B.10 C.11 D.12
19、信箱通信是一种( )通信方式。
A.直接通信 B.间接通信
C.低级通信 D.信号量
20、并发进程失去了封闭性是指( )。
A.多个相对独立的进程以各自的速度向前推进
B.并发进程的执行结果与速度无关
C.并发进程执行时,在不同时刻发生的错误
D.并发进程共享变量,其执行结果与速度有关
二、填空题
1、若一个进程已进入临界区,其他欲进入临界区的进程必须 。
2、用P, V操作管理临界区时,任何一个进程在进入临界区之前应调用 操作,退出临界区时应调用 操作。
3、用信箱实现通信时,应有 和 两条基本原语。
4、有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是 。
5、死锁产生的必要条件有四个,即 、 、 、 。
6、银行家算法中,当一个进程提出的资源请求将导致系统从 进入 时,系统就拒绝它的资源请求。
7、PV操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为 。
8、在多线程操作系统中,线程与进程的根本区别在于进程作为 单位,而线程
是 单位。
9、临界区是指并发进程中与 有关的程序段
10、操作系统中信号量的值与___ ___的使用情况有关,它的值仅能由 来改变。
三、简答题
1、什么是进程的互斥与同步?
2、一个进程进入临界区的调度原则是什么?
3、在操作系统中,P操作和V操作各自的动作是如何定义的?
4、为什么并发进程执行时可能会产生与时间有关的错误?如何避免?
5、为什么说采用有序资源分配法不会产生死锁?
四、应用题
1、四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:
(1)如何定义信号量及初值;
(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:
进程A 进程 B 进程 C 进程 D
… … … …
[1]; [3]; [5]; [7];
read F; read F; read F; read F;
[2]; [4]; [6]; [8];
… … … …
2、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印,问:
①系统要设几个进程来完成这个任务?各自的工作是什么?
②这些进程间有什么样的相互制约关系?
③用P、V操作写出这些进程的同步算法。
3、生产者-消费者问题表述如下:一组生产者进程和一组消费者进程通过缓冲区发生联系。生产者进程将生产的产品送入缓冲区,消费者进程则从中取出产品。假定环形缓冲池中共有N个缓冲区,编号为0~N-1。
为了描述生产者进程和消费者进程,设指针in和out分别指向生产者进程和消费者进程当前所用的缓冲区(buffer),初值均为0。
(1)应设置三个信号量实现两类进程的同步,分别是full、empty和mutex。请说出它们的含义及初值。
(2)下面是生产者进程的算法描述,请填写相应的P、V操作语句。
while (TRUE){
;
;
产品送往buffer(in);
in=(in+1)mod N; /*mod为取模运算*/
;
;
(3)指出生产者进程算法中的临界区是哪一段程序?
4、在银行家算法中,若出现下述资源分配情况:
试问:(1)该状态是否安全?
(2)如果进程P2提出请求Request2(1,2,2,2)后,系统能否将资源分配给
它?
5、桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者
取用,请用P, V原语实现爸爸、儿子、女儿三个并发进程的同步。
6、哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论:在讨论的间隙四位哲学家进餐,每人进餐时都需使用刀、叉各一把,餐桌上的布置如图2.9所示。请用信号量及P、V操作说明这四位哲学家的同步、互斥过程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论