一、单选题 (题数:15,共 60.0 分)
1
若信号量S的初值为2,当前值为-1,则表示有( )个等待进程。
(4.0分)4.0 分
A、
0
B、
1
C、
2
D、
3
正确答案: B 我的答案:B
2
为了使两个进程能同步运行,最少需要( )个信号量。
(4.0分)4.0 分
A、
1
B、
2
C、
3
D、
4
正确答案: B 我的答案:B
3并发进程执行时可能会出现与时间有关的错误,这种错误是与( )无关的。(4.0分)4.0 分
A、
使用共享资源
B、
进程被打断的时间
C、
进程占用处理器的总时间
D、
进程交替执行的次序
正确答案: C 我的答案:C
4有甲、乙两道算题,每道需执行1小时(其中处理器的工作时间为12分钟)。若它们在多道系统中执行,甲、乙两道题总共需执行80分钟,则处理器的利用率为( )。(4.0分)4.0 分
A、
50%
B、
40%
C、
30%
D、
20%
正确答案: C 我的答案:C
5在下述关于父进程和子进程的叙述中,正确的是( )。(4.0分)4.0 分
A、
父进程创建了子进程,因此父进程执行完了,子进程才能运行
B、
子进程执行完了,父进程才能运行
C、
撤消子进程时,应该同时撤消父进程
D、
撤消父进程时,应该同时撤消子进程
正确答案: D 我的答案:D
6
进程从等待状态转到就绪状态的原因可能是( )。
(4.0分)4.0 分
A、
请求I/O
B、
I/O完成
C、
被进程调度程序选中
D、
另一个进程运行结束
正确答案: B 我的答案:B
7有关进程的下列叙述中,( )是正确的。(4.0分)4.0 分
A、
进程是静态的文本
B、
进程与程序是一一对应的
C、
进程与作业是一一对应的
D、
多个进程可以在单个CPU上同时执行
正确答案: D 我的答案:D
8
并发进程相互之间( )。
(4.0分)4.0 分
A、
必须通信
B、
可以有交往也可无关
C、
一定会竞争共享资源
D、
相互间一定要同步
正确答案: B 我的答案:B
答案解析:
9操作系统中,资源分配的基本单位是( )。(4.0分)4.0 分
A、
进程
B、
线程
C、
作业
D、
程序
正确答案: A 我的答案:A
10信箱通信是一种( )通信方式。(4.0分)4.0 分
A、
直接
B、
间接
C、
低级
D、
信号量
正确答案: B 我的答案:B
11有关PV操作的说法中( )是错误的。(4.0分)4.0 分
A、
“PV操作不仅是进程互斥的有效工具,而且是简单方便的同步工具”
B、
“PV操作不能实现进程间通信”
C、
“进程调用P操作测试自己所需的消息是否到达”
D、
“进程调用V操作向其它进程发送消息”
正确答案: B 我的答案:B
12
在引入线程的操作系统中,把( )作为调度和分派的基本单位,而把( )作为资源拥有的基本单位。
(4.0分)4.0 分
A、
进程 线程
B、
程序 线程
C、
程序 进程
D、
线程 进程
正确答案: D 我的答案:D
答案解析:
13设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是( )。(4.0分)0.0 分
A、
1,0,-1,-2
B、
2,0,-1,-2
C、
1,0,-1
D、
3,2,1,0
正确答案: A 我的答案:C
14进程和程序的本质区别是( )。(4.0分)4.0 分
A、
存储在内存和外存
B、
顺序和非顺序执行机器指令
C、
分时使用和独占使用计算机资源
D、
动态和静态特征
正确答案: D 我的答案:D
15如果单CPU系统中有n个并发进程,则就绪队列中进程个数最多可达( )个。(4.0分)4.0 分
A、
n
B、
n-1
C、
n-2
D、
1
正确答案: B 我的答案:B
二、判断题 (题数:10,共 30.0 分)
1消息缓冲是一种直接通信方式,也是一种高级通信。(3.0分)3.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信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由P、V操作来改变。(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字母需要用大写字母,圆括号使用英文半角输入方式书写,信号量与题目所定义的信号量保持一致。)
比如填上答案为:P(pail),V(pail)
(10.0分)10.0 分
正确答案
第一空:
P(empty)
第二空:
P(mutex)
第三空:
V(pail)
第四空:
P(full)
第五空:
V(empty)
我的答案:
第一空:
P(empty)
第二空:
P(mutex)
第三空:
V(pail)
第四空:
P(full)
第五空:
V(empty)