一、单选题 (题数:15,共 60.0 分)
1 设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是( )。(4.0分)4.0 分
A、3,2,1,0
B、1,0,-1,-2
C、1,0,-1
D、2,0,-1,-2
我的答案:B
2 并发进程相互之间( )。(4.0分)4.0 分
A、必须通信
B、相互间一定要同步
C、可以有交往也可无关
D、一定会竞争共享资源
我的答案:C
3 在下述关于父进程和子进程的叙述中,正确的是( )。(4.0分)4.0 分
A、父进程创建了子进程,因此父进程执行完了,子进程才能运行
B、子进程执行完了,父进程才能运行
C、撤消父进程时,应该同时撤消子进程
D、撤消子进程时,应该同时撤消父进程
我的答案:C
4 在引入线程的操作系统中,把( )作为调度和分派的基本单位,而把( )作为资源拥有的基本单位。(4.0分)4.0 分
A、进程 线程
B、程序 线程
C、程序 进程
D、线程 进程
我的答案:D
5 若信号量S的初值为2,当前值为-1,则表示有( )个等待进程。(4.0分)4.0 分
A、0
B、1
C、3
D、2
我的答案:B
6 信箱通信是一种( )通信方式。(4.0分)4.0 分
A、直接
B、信号量
C、间接
D、低级
我的答案:C
7 并发进程执行时可能会出现与时间有关的错误,这种错误是与( )无关的。(4.0分)4.0 分
A、进程被打断的时间
B、进程交替执行的次序
C、使用共享资源
D、进程占用处理器的总时间
我的答案:D
8 有关进程的下列叙述中,( )是正确的。(4.0分)4.0 分
A、
进程与作业是一一对应的
B、
多个进程可以在单个CPU上同时执行
C、
进程是静态的文本
D、
进程与程序是一一对应的
我的答案:B
9 有甲、乙两道算题,每道需执行1小时(其中处理器的工作时间为12分钟)。若它们在多道系统中执行,甲、乙两道题总共需执行80分钟,则处理器的利用率为( )。(4.0分)4.0 分
A、40%
B、30%
C、50%
D、20%
我的答案:B
10 进程从等待状态转到就绪状态的原因可能是( ).(4.0分)4.0 分
A、被进程调度程序选中
B、另一个进程运行结束
C、I/O完成
D、请求I/O
我的答案:C
11 为了使两个进程能同步运行,最少需要( )个信号量。(4.0分)4.0 分
A、4
B、1
C、3
D、2
我的答案:D
12 进程和程序的本质区别是( )。(4.0分)4.0 分
A、顺序和非顺序执行机器指令
B、分时使用和独占使用计算机资源
C、存储在内存和外存
D、动态和静态特征
我的答案:D
13 操作系统中,资源分配的基本单位是( )。(4.0分)4.0 分
A、作业
B、进程
C、线程
D、程序
我的答案:B
14 如果单CPU系统中有n个并发进程,则就绪队列中进程个数最多可达( )个。(4.0分)4.0 分
A、1
B、n-1
C、n-2
D、n
我的答案:B
15 有关PV操作的说法中( )是错误的。(4.0分)4.0 分
A、“进程调用P操作测试自己所需的消息是否到达”
B、“PV操作不能实现进程间通信”
C、“PV操作不仅是进程互斥的有效工具,而且是简单方便的同步工具”
D、“进程调用V操作向其它进程发送消息”
我的答案:B
二、判断题 (题数:10,共 30.0 分)
1信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由P、V操作来改变。(3.0分)0.0 分
我的答案: √
2程序的封闭性和可再现性使得系统管理很简单,程序编制调试很容易,从而大大提高了资源的利用率。(3.0分)3.0 分
我的答案: ×
3进程是程序的一次执行,进程由程序和数据二部分组成。(3.0分)3.0 分
我的答案: ×
4并行处理既与硬件性能有关又与软件有关。(3.0分)3.0 分
我的答案: √
5在单处理机系统中,处于执行状态的进程有一个。(3.0分)3.0 分
我的答案: ×
6消息缓冲是一种直接通信方式,也是一种高级通信。(3.0分)3.0 分
我的答案: √
7原语是一种不可分割的操作,在系统态下执行,常驻内存。(3.0分)3.0 分
我的答案: √
8临界区是指进程中用于实现进程互斥的那段代码,为了实现进程互斥地进入自己的临界区,更多的是在系统中设置专门的同步机构来协调进程间的运行。(3.0分)3.0 分
我的答案: √
9当一个进程从等待态变为就绪态,则可能有一个进程从就绪态变成执行态。(3.0分)3.0 分
我的答案: √
10进程的同步与互斥是其两种基本状态。(3.0分)3.0 分
我的答案: ×
三、填空题 (题数:1,共 10.0 分)
1 某庙寺有小和尚、老和尚若干。有一水井和一个水缸,由小和尚提水入缸供老和尚饮用。水缸可容纳15桶水,水取自同一井中。水井很窄,每次只能容一个水桶打水。水桶总数为5个。每次入水、取水仅为1桶水,且不可同时进行。试用一种信号量机制,写出小和尚和老和尚入水、取水的活动过程。
答案解析:设互斥信号量pail,表示水桶资源的数目,初值为5;设互斥信号量mutex,表示小和尚、老和尚对水井和水缸的互斥使用,初值为1;设同步信号量empty,表示水缸能容纳水的桶数,初值为15;设同步信号量full,表示水缸已经容纳水的桶数,初值为0。则采用信号量机制写出小和尚和老和尚入水、取水的活动过程如下:
semaphore S,mutex, empty, full;
pail=5;
mutex=1;
empty=15;
full=0;
void main()
{
cobegin
小和尚i() // (i=1, 2, ... , m),m个小和尚进程。
老和尚j() // (j=1, 2, ... , n),n个老和尚进程。
coend
}
小和尚i() // (i=1, 2, ... , m),m个小和尚进程。
{
while (1)
{ P(pail);
(【1】);
(【2】);
从水井取水,倒入水缸中;
V(mutex);
V(full);
(【3】);
}
}
老和尚j() // (j=1, 2, ... , n),n个老和尚进程。
{
while (1)
{ P(pail);
(【4】);
P(mutex);
//从水缸中取一桶水;
V(mutex);
(【5】);
V(pail);
饮用水;
}
}
请分别在五个空白处填写正确的P操作或V操作。
(注意:P和V字母需要用大写字母,圆括号使用英文半角输入方式书写,信号量与题目所定义的信号量保持一致。)
(10.0分)10.0 分
我的答案:
第一空:
P(empty)
第二空:
P(mutex)
第三空:
V(pail)
第四空:
P(full)
第五空:
V(empty)