(1)单选题
下列对临界区的论述中,正确的是( D)。
A 临界区是指进程中用于实现进程互斥的那段代码
B 临界区是指进程中用于实现进程同步的那段代码
C 临界区是指进程中用于实现进程通信的那段代码
D 临界区是指进程中用于访问共享资源的那段代码
解析:多个进程可以共享系统中的资源,一次仅允许一个进程使用的资源叫临界资源。访问临界资源的那段代码称为临界区。
(2)单选题
若一个信号量的初值为3,经过多次PV操作以后当前值为-1,此表示等待进入临界区的进程数是(A)。
A 1 B 2 C 3 D 4
解析:信号量是一个整型的特殊变量,只有初始化和PV操作才能改变其值。通常,信号量分为互斥量和资源量,
互斥量的初值一般为1,表示临界区只允许一个进程进入,从而实现互斥。
当互斥量等于0时,表示临界区已经有一个进程进入,临界区外尚无进程等待;
当互斥量小于0时,表示临界区中有一个进程,
互斥量的绝对值 表示在临界区外等待进入的进程数。
同样的道理,资源信号量初值可以是任意整数,表示可用的资源数,
当资源量为0时,表示所有资源已经全部用完,而且还有进程正在等待使用该资源,等待的进程数就是资源量的绝对值。
(3)单选题
设与某资源关联的信号量(K)初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是(B )。
A 0、1
B 1、0
C 1、2
D 2、0
解析:信号量的值大于0时,表示该类资源还没有完全分配完,此时信号量的值表示该资源的可用个数。 信号量的当前值为1,大于0,则M表示该资源的可用个数为1,N表示等待资源的进程数为0。
(4)单选题
P操作可能导致( C)。
A 进程就绪
B 进程结束
C 进程阻塞
D 新进程创建
解析:P操作即wait操作,表示等待某种资源直到可用。若这种资源暂时不可用,则进程进入阻塞状态。
(5)单选题
用V操作唤醒一个等待进程时,被唤醒进程的变为(C )状态。
A 运行
B 等待
C 就绪
D 完成
解析:阻塞状态被唤醒是就绪状态。
(6)单选题
在用信号量机制实现互斥时,互斥信号量的初值为(B)。
A 0
B 1
C 2
D 3
解析:互斥信号量初值为1,P操作成功则将其清“0”,v操作成功则将其置“1”。
(7)单选题
有三个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用PV操作同步机制,则信号量S的取值范围是(A )。
A 2,1,0,-1
B 3,2,1,0
C 2,1,0,-1,-2
D 1,0,-1,-2
解析:有n个进程共享同一程序段,而每次只允许m个进程进入该程序段,若用PV操作的同步机制,则信号量S的取值范围是-(n-m)<=S<=m 即-1<=S<=2.
(8)单选题,
对于两个并发进程,设互斥信号量为 mutex(初值为1),若 mutex=0,则(B)。
A 表示没有进程进入临界区
B 表示有一个进程进入临界区
C 表示有一个进程进入临界区,另一个进程等待进入
D 表示有两个进程进入临界区
解析:当互斥量等于0时,表示临界区已经有一个进程进入,临界区外尚无进程等待;
(9)单选题
对信号量S执行P操作后,使进程进入等待队列的条件是( )。
A S.value<0
B S.value<=0
C S.value>0
D S.value>=0
解析:参见记录型信号量的解析。此处极易出S.vakle物理概念题,现总结如下:S.value>0,表示某类可用资源的数量。每次P操作,意味着请求分配一个单位的资源。S.value<=0,表示某类资源已经没有了,或者说还有因请求该资源而被阻塞的进程。S.value<=0时的绝对值,表示等待进程数目。切记看清题目中陈述,是执行P操作前还是P操作后。
(10)单选题
在操作系统中,要对并发进程进行同步的原因是(C )。
A 进程必须在有限的时间内完成
B 进程具有动态性
C 并发进程是异步的
D 进程具有结构性
解析:进程同步是指进程之间一种直接的协同工作关系,这些进程的并发是异步的,它们相互合作,共同完成一项任务。
临界区就是临界资源所在的区域。X
解析:临界资源是进程需要互斥访问的对象(可以是硬件资源,也可以是软件资源),
而临界区则是来访问临界资源的代码。
信号量是一个整型变量,可以直接对其进行加1和减1的操作。X
解析:信号量是一个整型变量,只能进行P V操作。
V操作表示申请一个资源。X
解释: P表示申请一个资源,V表示释放一个资源。
一个正在访问临界资源的进程因为申请I/O操作而阻塞时,它允许其他进程进入其临界区。X
解析:进程进入临界区必须满足互斥条件。
PV操作是原子操作。√
14. 访问临界区过程中,在临界区前的进入区应该实现互斥准则
15. 访问临界区过程中,在临界区后的退出区应该实现有空让进准则

1、下面有关数据不一致性的论述中,错误的是()。C
A.存在于并发运行的协同进程之间
B.同一进程在同一批数据上多次运行的结果可能不一样
C.一个进程在同一批数据上的运行结果每次都不一样
D.单任务操作系统不存在数据不一致性
2、防止竞争条件出现的有效方法有()。A、C
A.同步
B.调度
C.互斥
D.不共享数据
27. 消费者阻塞wait(full)(full是同步信号量)的条件是没有满缓冲区
28. 在哲学家就餐问题中,能防止死锁的方法为
1. 最多允许4个哲学家同时坐在桌子周围
2. 仅当一个哲学家左右两边筷子都可用时,才允许他拿筷子
3. 给所有哲学家编号,奇数号哲学家必须首先拿左边筷子,偶数号哲学家必须首先拿右边筷子
4. 增加一根额外的筷子
44. 临界区是涉及临界资源的数据区。✖
解释:临界区是一个代码块。
45. 一次只允许1个进程使用的资源称为互斥资源。✔
46. S必须置一次且只能置一次初值。✔
47. 记录型信号量S的当前值为0,一个进程调用wait(s)会把自己阻塞并挂到S的等待队列上。✔
48. 记录型信号量的值不可能为负数。✖
解释:记录型信号量的值可以为负数。
50. 读者优先的读者写者问题中,一个写者先来,但有可能比后来的读者后运行。✔
52. 如果给5个哲学家6根筷子,则不会有死锁发生。✔
53. 互斥信号量的P和V操作一般在不同进程中。✖
解析:. 互斥信号量的P和V操作一般在同一进程中,
. 同步信号量的P和V操作一般在不同进程中
54. 每个管程中只能有一个条件变量。✖
解析: 每个管程中可以设置多个条件变量。
55. 二值信号量的值区间为0-1。✖
56. 若信号S的初值为5,当前值为-2,则表示有2个等待进程。✔
57. 当一进程因记录型信号量S上执行signal(S)操作而导致唤醒另一进程前,S的值等于0。✖
58. 一次允许多个程序使用的资源称为共享资源。✔
59. 互斥操作时,一个信号量的P、V操作一般处于同一进程。✔
60. 同步操作时,一个信号量的P、V操作一般处于同一进程。✖
同步信号量的P和V操作一般在不同进程中
61. 在生产者消费者问题中,不同消费者之间不需要互斥。✖
62. 10个生产者,5个消费者共享容量为8的缓冲区的生产者-消费者问题中,互斥使用缓冲区的信号量S的初始值为1。✔
63. 整型信号量是一个整数,如果一个进程要申请信号量时发现该信号量大于等于0则表示可以获得信号量,小于0则表示无法获得信号量。✖
64. 记录型信号量增加了一个等待队列,当一个进程无法获得一个信号量时,马上释放CPU并把自己转换为等待状态,加入该信号量的等待队列,从而消除忙等。✔
65. 请谈谈同步信号量的值有什么含义
1. S>0表示有S个资源可用
2. S=0表示无资源可用
3. S<0则则|S|表示S等待队列中的进程个数
4. P(S)表示申请一个资源
5. V(S)表示释放一个资源。信号量的初值应该大于等于0.
:
一、选择最合适的答案
1.用 P、V操作管理临界区时,信号量的初值一般应定义为( C)。
A-1 B .0 C.1 D.任意值
2.有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是(A)。
A.1至-(m-1) B.1至m-1 C.1至-m D.1至m
3.在下面的叙述中,正确的是(C)。
A·临界资源是非共享资源 B.临界资源是任意共享资源
C·临界资源是互斥共享资源D·临界资源是同时共享资源
4.对进程间互斥地使用临界资源,进程可以(D)
A. 互斥地进入临界区 B.互斥地进入各自的临界区
C.互斥地进入同一临界区 D.互斥地进入各自的同类资源的临界区
5.设两个进程共用一个临界资源的互斥信号量 mutex,当mutex=1时表示(B)。
A.一个进程进入了临界区,另一个进程等待
B. 没有一个进程进入临界区
C. 两个进程都进入了临界区
D. 两个进程都在等待
6.设两个进程共用一个临界资源的互斥信号量 mutex,当mutex=-1时表示(A)。
A.一个进程进入了临界区,另一个进程等待
B.有一个进程进入临界区
C.两个进程都进入了临界区
D.两个进程都在等待
9·如果信号量的当前值为-4,则表示系统中在该信号量上有(A)个进程等待。
A.4 B3 C.5 D.0
10.若有4个进程共享同一程序段, 而且每次最多允许 3个进程进入该程序段, 则信号
量的变化范围是(B )
A.3,2,1,0
B.3 ,2,1,0,-1
C.4,3,2,1,0
D.2,1,0,-1,-2
解析:有n个进程共享同一程序段,而每次只允许m个进程进入该程序段,若用PV操作的同步机制,则信号量S的取值范围是-(n-m)<=S<=m 即-1<=S<=3
11.若信号S的初值为2,当前值为-1,则表示有(B)个等待进程?
A.0 B1 C.2 D.3
解析:互斥量的绝对值 表示在临界区外等待进入的进程数。
12.如果有三个进程共享同一互斥段, 而且每次最多允许两个进程进入该互斥段 则信
号量的初值应设置为(C)。
A. 3 B.1 C.2 D.0
二、选择所有正确的答案
1.有关进程的描述中,(AC)是正确的。
A.进程执行的相对速度不能由进程自己来控制
B.利用信号量的PV操作可以交换大量信息
C·同步是指并发进程之间存在的一种制约关系
D.并发进程在访问共享资源时,不可能出现与时间有关的错误
3.进程从执行状态转换到阻塞状态的可能原因是(BD)
A 时间片完
B需要等待其它进程的执行结果
C. 执行了V操作
D.执行了 P操作
4.进程从阻塞状态转换到就绪状态的可能原因是(BC)
A.时间片完 .
B.其它进程执行了唤醒原语
C.执行了 V操作
D.执行了 P操作
5.在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生(BCD)。
A.没有运行的进程,有2个进程处于就绪状态,n个进程处于等待状态。
B.一个进程处于运行状态,n-1个进程处于等待状态。
C.一个进程处于运行状态,1个进程处于就绪状态,n-2个进程处于等待状态。
D.一个进程处于运行状态,n-1个进程处于就绪状态,没有进程处于等待状态
三、 判断正误,错误的简要说明理由
1一个临界资源可以对应多个临界区。 (V)
2.互斥地使用临界资源是通过互斥地进入临界区实现的。 (X)
解析:表达不确切,应该是互斥的进入同类临界区。
3·同步信号量的初值一般为1。(X)
解析:互斥信号量的初值一般为1;而同步信号量的初值应视具体情况而定。
4生产者一消费者问题是一个既有同步又有互斥的问题。 (V)
5.进程A、B共享变量x,需要互斥执行;进程B、C共享变量y,B、C也需要互斥执行,因此,进程 A、C必须互斥执行。(X)
解析:不具有传递性。
6.单道程序系统中程序的执行也需要同步和互斥。 (X)
解析:单道程序系统不具有并发性,因此不需要同步和互斥。
2、存在忙等的信号量是()。B
A.记录型信号量
B.整型信号量
C.AND信号量
D.二值信号量



解释:这里是存在忙等,而记录型信号量则是去除忙等。
3、在生产者消费者问题中,消费者执行Wait(full)后阻塞的原因是()。B
A.full=0
B.full<1
C.full>1
D.full=1
4、读者优先的读者写者问题中,写者可以进入写的前提条件是()。C
A.其它
B.没有读者在读
C.既没有读者在读,也没有写者在写
D.没有写者在写
5、系统中有10个并发进程涉及某个相同的变量A,则变量A的相关临界区最少有()个。A
A.10
B.20
C.1
D.2
6、进程P1对信号量S执wait(S)操作,则信号量S的值应()。B
A.不变
B.减1
C.加1
D.不定
11、在Hoare管程中,有关条件变量x的操作signal()的描述正确的是()。A、B
A.x的条件队列非空时,唤醒该条件队列的第一个等待进程,执行该操作进程进入紧急队列
B.x的条件队列空时是空操作,执行该操作进程继续运行
C.x的条件队列空时是空操作,执行该操作进程进入紧急队列
D.x的条件队列非空时,唤醒该条件队列的第一个等待进程,执行该操作进程继续运行

12、在读者写者问题中,读者可以进入缓冲区读的条件是()。A、B
A.有写者等,但有其它读者在读
B.无读者、写者在读写
C.有写者写
D.有读者在等待
13、临界区使用的准则包括()。B、C、D
A.同步
B.有限等待
C.互斥
D.有空让进

14、有关信号量S的描述,正确的是()。B、D
A.S初值不能为0
B.除了初始化,只能通过执行P、V操作来访问S
C.S的值不为负
D.S必须置一次且只能置一次初值
17、一次允许多个进程使用的资源称为共享资源。√
18、同步操作时,一个信号量的P、V操作一般处于同一进程。×
解释:P(W)是测试是否为第一个读者,而V(W)则是测试是否为最后一个读者,每一个读者属于不同的进程,故P、V操作不在一个进程中

19、整型信号量是一个整数,如果一个进程要申请信号量时发现该信号量大于等于0则表示可以获得信号量,小于0则表示无法获得信号量。×
20、记录型信号量增加了一个等待队列,当一个进程无法获得一个信号量时,马上释放CPU并把自己转换为等待状态,加入该信号量的等待队列,从而消除忙等。√
1、有两个并发进程,设置了互斥信号量mutex,现在mutex=0,则表示()。C
A.两个进程均进入临界区
B.没有进程进入临界区
C.一个进程进入临界区
D.一个进程进入临界区,另一个在等待
解释:mutex初值为1,表示允许一个进程进入临界资源,当由一个进程进入临界区且没有进程等待进入时,mutex减1,变为0,|mutex|为等待进入的进程数。就此题而言,当mutex=1时表示没有进程进入临界区;当mutex=-1时表示有一个进程进入临界区,另一个进程等待进入。 —来源:牛客网
2、所有的生产者必须等待消费者先运行的前提条件是()。B
A.缓冲区为空
B.缓冲区为满
C.缓冲区不可用
D.缓冲区半满
3、所有的消费者必须等待生产者先运行的前提条件是()。A
A.缓冲区空
B.缓冲区满
C.缓冲区不可用
D.缓冲区半空
4、消费者阻塞在wait(m)(m是互斥信号量)的条件是()。C、D
A.没有空缓冲区
B.没有满缓冲区
C.有其它生产者已经进入临界区存放产品
D.有其它消费者已经进入临界区取产品
5、在生产者消费者问题中,以下关于唤醒操作正确的是()。A、B、C、D
A.生产者唤醒其它生产者
B.生产者唤醒消费者
C.消费者唤醒其它消费者
D.消费者唤醒生产者
6.4 读者写者问题
1、在读者写者问题中,能同时执行读写的是()。C
A.读者和写者
B.不同写者
C.不同读者
D.都不能
2、在读者优先的读者写者问题中,读者可以进入读的前提是()。A、B
A.没有读者和写者在读写
B.有读者在读
C.有写者在写
D.有写者在等
5、只有没有读者在读,写者就可以进入写。×
解释:如果有另个一个写者在写,这个写者也还是不能进入写。
6.6 管程
1、引入条件变量后的管程内部,不存在()。C
A.条件队列
B.紧急队列
C.入口队列
D.条件变量
2、进程P调用wait操作唤醒进程Q后,P等待直到Q离开管程才允许的管程是()。A
A.Hoare管程
B.MESA管程
C.Hansen管程
D.系统管程

4、在Hoare管程中,当一个管程内的进程P调用x.wait()时,如果紧急队列非空,则会唤醒第一个入口队列中的等待进程,P进入x的条件队列。×

5、Linux和Windows系统中都有信号量同步机制。√
3436

被折叠的 条评论
为什么被折叠?



