1.n个并发进程通过初值为1的信号量s共享资源R,当n个进程都通过wait(s)申请访问资源R时,信号量s的值为( )。
编号 |
选项 |
A |
0 |
B |
n |
C |
-n |
D |
-(n-1) |
2.下列哪种方式不支持多处理器环境下的互斥( )。
编号 |
选项 |
A |
中断禁用 |
B |
专用机器指令 |
C |
信号量 |
D |
管程 |
3.与资源R共享相关的信号量s初值为4,经过多次wait和signal操作后s当前值为-2,此时获得R的进程数是( )。
4.设与某资源R关联的信号量为s,若这个资源最多允许3个进程同时访问,当有5个进程申请访问R时, 采用wait和signal操作来实现同步,则信号量s的取值范围是( )。
编号 |
选项 |
A |
0≤s≤3 |
B |
0≤s≤5 |
C |
-2≤s≤3 |
D |
2≤s≤5 |
5.在读者/写者问题中,用R表示读者,W表示写者,下列每个序列从左到右表示进程到达的先后顺序,当采用读者优先方案时,序列( )可能存在写者饥饿问题。
编号 |
选项 |
A |
RRRW |
B |
WRRR |
C |
RWRR |
D |
WRRW |
6.服务器进程为多个客户进程提供服务或资源时,采用( )的消息传递方式较为常见。
编号 |
选项 |
A |
阻塞发送,阻塞接收 |
B |
不阻塞发送,阻塞接收 |
C |
不阻塞发送,不阻塞接收 |
D |
阻塞发送,不阻塞接收 |
7.当一个进程因在互斥信号量s上执行signal(s)操作而唤醒另一个进程时,则执行signal操作后s的取值范围是( )。
编号 |
选项 |
A |
大于0 |
B |
大于等于0 |
C |
小于0 |
D |
小于等于0 |
8.下列关于管程的描述,正确的是( )。
编号 |
选项 |
A |
管程只能用于实现进程的互斥 |
B |
管程是由程序设计语言支持的进程互斥同步机制 |
C |
任何时候只能有一个进程在管程中执行 |
D |
管程中定义的变量只能被管程内的过程访问 |
9.在生产者/消费者问题中,假设有5个生产者,5个消费者共享容量为8的缓冲空间,则实施互斥访问缓冲空间的信号量初始值为( )。
10.在生产者/消费者问题中,用s表示实施互斥的信号量,e表示与缓冲区空闲空间数量相关的信号量,n表示与缓冲区中数据项个数相关的信号量,下列生产者和消费者的操作(生产者和消费者可并发执行),可能产生死锁的是( )。
编号 |
选项 |
A |
生产者:wait(s);wait(e);append();signal(n);signal(s);消费者:wait(s);wait(n);take();signal(e);signal(s); |
B |
生产者:wait(s);wait(e);append();signal(n);signal(s);消费者:wait(n);wait(s);take();signal(s);signal(e); |
C |
生产者:wait(e);wait(s);append();signal(s);signal(n);消费者:wait(s);wait(n);take();signal(e);signal(s); |
D |
生产者:wait(e);wait(s);append();signal(s);signal(n);消费者:wait(n);wait(s);take();signal(s);signal(e); |
11.专用机器指令支持互斥会存在忙等问题。
12.wait和signal操作必须作为原语来实现。
@Power By Exercises-Manager