题目 1 of 281.0/ 1.0 得分
下列的进程状态变化中,( )变化是不可能发生的。
A. 等待→执行
B. 等待→就绪
C. 执行→等待
D. 执行→就绪
答案:A
反馈:等待→执行
题目 2 of 281.0/ 1.0 得分
用P、V操作管理临界区时,信号量的初值应定义为( )。
A. 任意值
B. 1
C. 0
D. -1
答案:B
反馈:1
题目 3 of 281.0/ 1.0 得分
分配到必要的资源并获得处理机时的进程状态是( )。
A. 执行状态
B. 就绪状态
C. 阻塞状态
D. 撤消状态
答案:A
反馈:执行状态
题目 4 of 281.0/ 1.0 得分
下面对进程的描述中,错误的是( )。
A. 进程是指令的集合
B. 进程是动态的概念
C. 进程是有生命期的
D. 进程执行需要处理机
答案:A
反馈:进程是指令的集合
题目 5 of 281.0/ 1.0 得分
在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次( )。
A. 运行活动
B. 等待活动
C. 单独操作
D. 关联操作
答案:A
反馈:运行活动
题目 6 of 281.0/ 1.0 得分
P、V操作是( )。
A. 两组不同的机器指令
B. 两条高级进程通信原语
C. 两条低级进程通信原语
D. 两条系统调用命令
答案:C
反馈:两条低级进程通信原语
题目 7 of 281.0/ 1.0 得分
用V操作唤醒一个等待进程时,被唤醒进程的状态变为( )。
A. 就绪
B. 执行
C. 等待
D. 完成
答案:A
反馈:就绪
题目 8 of 281.0/ 1.0 得分
进程的并发执行是指若干个进程( )。
A. 在执行的时间上是重叠的
B. 共享系统资源
C. 同时执行
D. 在执行的时间上是不可重叠的
答案:A
反馈:在执行的时间上是重叠的
题目 9 of 281.0/ 1.0 得分
下面所述步骤中,( )不是创建进程所必需的。
A. 建立一个进程控制块
B. 为进程分配内存
C. 将进程控制块链入就绪队列
D. 由调度程序为进程分配CPU
答案:D
反馈:由调度程序为进程分配CPU
题目 10 of 281.0/ 1.0 得分
对于两个并发进程,设互斥信号量为mutex,若mutex=0,则( )。
A. 表示有一个进程进入临界区,另一个进程等待进入
B. 表示有两个进程进入临界区
C. 表示有一个进程进入临界区
D. 表示没有进程进入临界区
答案:C
反馈:表示有一个进程进入临界区
题目 11 of 281.0/ 1.0 得分
进程控制就是对系统中的进程实施有效的管理,通过使用( )、进程撤消、进程阻塞、进程唤酲等进程控制原语实现。
A. 进程运行
B. 进程同步
C. 进程创建
D. 进程管理
答案:C
反馈:进程创建
题目 12 of 281.0/ 1.0 得分
若P、V操作的信号量S初值为2,当前值为-1,则表示有( )等待进程。
A. 3个
B. 1个
C. 2个
D. 0个
答案:B
反馈:1个
题目 13 of 281.0/ 1.0 得分
一个进程被唤醒意味着( )。
A. 它的优先权变为最大
B. 其PCB移至阻塞队列队首
C. 该进程重新占有了CPU
D. 进程变为就绪状态
答案:D
反馈:进程变为就绪状态
题目 14 of 281.0/ 1.0 得分
信箱通信是一种( )通信方式。
A. 直接通信
B. 低级通信
C. 信号量
D. 间接通信
答案:D
反馈:间接通信
题目 15 of 281.0/ 1.0 得分
进程的三个基本状态在一定条件下可以相互转化,由运行状态变为阻塞状态的条件是( )。
A. 等待某事件发生
B. 被进程调度程序选中
C. 等待的某事件已发生
D. 时间片用完 (应是由运行变为就绪)
答案:A
反馈:等待某事件发生
题目 16 of 281.0/ 1.0 得分
当若干进程调用了P(S)后,有n个进程处于等待信号量S的状态。此后,又有m个进程(m
A. m+n
B. m-n
C. m
D. n
答案:B
反馈:m-n
题目 17 of 281.0/ 1.0 得分
一个进程在某一时刻具有( )。
A. 三种状态
B. 二种状态
C. 一种状态
D. 四种状态
答案:C
反馈:一种状态
题目 18 of 281.0/ 1.0 得分
某个信号量S初值为3,当前值为-2,则等待在该信号量上的进程数为( )个。
A. 2
B. 1
C. 3
D. 4
答案:A
反馈:2
题目 19 of 281.0/ 1.0 得分
用PV操作管理互斥使用的共享资源时,假定现在有n个进程在等待使用资源,那么,至少有( )个进程调用P操作。
A. n-1
B. n+1
C. 1
D. n
答案:B
反馈:n+1
题目 20 of 281.0/ 1.0 得分
在进程管理中,当( )时,进程从阻塞状态变为就绪状态。
A. 等待的事件发生
B. 时间片用完
C. 等待某一事件
D. 进程被进程调度程序选中
原理:
答案:A
反馈:等待的事件发生
题目 21 of 281.0/ 1.0 得分
进程和程序的本质区别是( )。
A. 动态和静态特征
B. 顺序和非顺序执行机器指令
C. 存储在内存和外存
D. 分时使用和独占使用计算计资源
答案:A
反馈:动态和静态特征
题目 22 of 281.0/ 1.0 得分
进程被创建后即进入( )排队。
A. 就绪队列
B. 运行队列
C. 缓冲队列
D. 阻塞队列
答案:A
反馈:就绪队列
题目 23 of 281.0/ 1.0 得分
进程从运行状态变为等待的原因可能是( )。
A. 时间时刻
B. 输入/输出事件发生
C. .输入/输出事件完成
D. 某个进程被唤醒
答案:B
反馈:输入/输出事件发生
题目 24 of 281.0/ 1.0 得分
正在运行的进程在信号量S上执行P操作之后,当S<0,进程将进入信号量的( )。
A. 后备队列
B. 提交队列
C. 等待队列
D. 就绪队列
答案:C
反馈:等待队列
题目 25 of 281.0/ 1.0 得分
系统感知进程的唯一实体是( )。
A. PCB
B. SJT
C. FCB
D. JCB
答案:A
反馈:PCB
题目 26 of 281.0/ 1.0 得分
操作系统通过( )对进程进行管理。
A. JCB
B. DCT
C. CHCT
D. PCB
答案:D
反馈:PCB
题目 27 of 281.0/ 1.0 得分
进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为执行状态的条件是( )
A. 被进程调度程序选中
B. 等待某事件发生
C. 等待的某事件已发生
D. 时间片用完 (应是由运行变为就绪)
答案:A
反馈:被进程调度程序选中
题目 28 of 281.0/ 1.0 得分
当对信号量进行V原语操作时( )。
A. 当S<0,进程继续执行
B. 当S>0,要唤醒一个就绪进程
C. 当S<=0,要唤醒一个等待进程
D. 当S<0,要唤醒一个等待进程
答案:C
反馈:当S<=0,要唤醒一个等待进程
大项 2 of 5 - 填空题 22.0/ 25.0 得分
每空1分。
题目 1 of 91.0/ 1.0 得分
系统中各进程之间逻辑上的相互制约关系称为 同步 。
答案:同步
反馈:同步
题目 2 of 92.0/ 2.0 得分
信号量的物理意义是当信号量值大于零时表示 允许进入临界区 ;当信号量值小于零时,其绝对值为 等待进入临界区的进程数 。
答案:允许进入临界区, 等待进入临界区的进程数
题目 3 of 90.0/ 3.0 得分
进程在运行过程中有三种基本状态,它们是 就绪状态 、 阻塞状态 、 执行状态 。
答案:就绪|阻塞|执行, 就绪|阻塞|执行, 就绪|阻塞|执行
题目 4 of 92.0/ 2.0 得分
进程的基本特征有 动态性 、 并发性 、独立性、异步性。
答案:动态性|并发性, 动态性|并发性
反馈:动态性 、 并发性
题目 5 of 96.0/ 6.0 得分
对于信号量可以做 P 操作和 V 操作, P 操作用于阻塞进程, V 操作用于释放进程。程序中的 P 和 V 操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。
答案:P, V , P, V, P, V
题目 6 of 94.0/ 4.0 得分
同步机制应遵循的准则有 空闲让进 、 忙则等待 、 有限等待 和 让权等待 。
答案:空闲让进, 忙则等待, 有限等待, 让权等待
题目 7 of 95.0/ 5.0 得分
进程主要由 PCB 、 程序 、 数据 三部分内容组成,其中 PCB 是进程存在的惟一标志。而 程序 部分也可以为其他进程共享。
答案:PCB, 程序, 数据, PCB, 程序
反馈:PCB 、 程序 、 数据、PCB、程序
题目 8 of 91.0/ 1.0 得分
程序顺序执行时有顺序性、 封闭性 和可再现性的特点。
答案:封闭性
题目 9 of 91.0/ 1.0 得分
有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是 -(m-1)到1 。
答案:-(m-1)到1
大项 3 of 5 - 判断题 11.0/ 11.0 得分
每题1分
题目 1 of 111.0/ 1.0 得分
在单CPU系统中,某一时刻处于运行状态的进程有一个。
是
非
答案:非
题目 2 of 111.0/ 1.0 得分
飞机机票系统是分时系统。
是
非
答案:非
题目 3 of 111.0/ 1.0 得分
多道程序的引入,主要是为了提高CPU及其它资源的利用率。
是
非
答案:是
题目 4 of 111.0/ 1.0 得分
只有处于就绪状态的进程经调度程序选中后才可进入执行状态。
是
非
答案:是
题目 5 of 111.0/ 1.0 得分
程序的并发执行,使程序失去了顺序执行时具有的封闭性和可再现性。
是
非
答案:是
题目 6 of 111.0/ 1.0 得分
优先级是进行进程调度的重要依据,一旦确定不能改变。
是
非
答案:非
题目 7 of 111.0/ 1.0 得分
分时系统中,时间片越小,响应时间越长。
是
非
答案:非
题目 8 of 111.0/ 1.0 得分
PCB是进程存在的唯一标志,而程序是系统感知进程存在的唯一实体。
是
非
答案:非
题目 9 of 111.0/ 1.0 得分
在单CPU的系统中,任何时刻处于就绪状态的进程有多个。
是
非
答案:非
题目 10 of 111.0/ 1.0 得分
进程获得处理机而运行是通过调度而实现的。
是
非
答案:是
题目 11 of 111.0/ 1.0 得分
进程申请CPU得不到满足时,其状态变为阻塞状态。
是
非
答案:非
大项 4 of 5 - 简答题 0.0/ 12.0 得分
每题4分。
题目 1 of 20.0/ 8.0 得分
某系统的进程状态转换图如图所示,请说明:
(1)引起各种状态转换的典型事件有哪些?
(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换1?
提示:
转换1指进程从就绪转换为执行状态。
转换2指进程从执行转换为就绪状态。
转换3指进程从执行转换为阻塞状态。
转换4指进程从阻塞转换为就绪状态。
(1)引起转换1的典型事件:CPU调度引起转换2的典型事件:时间片用完,或被其他优先级高的进程抢占CPU。引起转换3的典型事件:等待某种事件的发生。引起转换4的典型事件:等待的事件已发生。(2)当状态转换3发生后,若就绪队列非空,则进程调度程序将选出一个就绪进程投入执行,即发生了转换1。
参考简短答案:
(1)引起转换1的典型事件:CPU调度
引起转换2的典型事件:时间片用完,或被其他优先级高的进程抢占CPU。
引起转换3的典型事件:等待某种事件的发生。
引起转换4的典型事件:等待的事件已发生。
(2)当状态转换3发生后,若就绪队列非空,则进程调度程序将选出一个就绪进程投入执行,即发生了转换1。
题目 2 of 20.0/ 4.0 得分
在单处理机的分时系统中,分配给进程P的时间片用完后,系统进行切换,结果调度到的仍然是进程P。有可能出现上述情形吗?如果可能请说明理由。有可能。发生这种情况有2种原因,一是就绪队列为空;二是进程P在就绪队列里优先级最高。
参考简短答案:有可能。发生这种情况有2种原因,一是就绪队列为空;二是进程P在就绪队列里优先级最高。
大项 5 of 5 - 应用题 0.0/ 24.0 得分
每题8分。
题目 1 of 30.0/ 8.0 得分
如下图所示,有一个计算进程和一个打印进程,它们共享一个单缓冲区,计算进程不断地计算出一个整形结果并将它放入缓冲区中,打印进程则负责从单缓冲区中取出每一个结果进行打印,请用信号量来实现它们的同步关系。
计算进程
begin computer next calclation;
wait(empty);
put the calculation into buffer;
signal(full);
repeat
end
打印进程
begin wait(full);
take the calculation from buffer;
signal(empty);
print the calculation
repeat
end
题目 2 of 30.0/ 8.0 得分
用记录型信号量写出一个不会死锁的哲学家进餐问题的算法。semaphore chopstick [5]={1,1,1,1,1};
do {
...
//think
...
Swait (chopstick[(i+1)%5],chopstick[i]);
...
//eat
...
Signal(chopstick[(i+1)%5]),chopstick[i];
}
while [TRUE];
题目 3 of 30.0/ 8.0 得分
请用信号量解决以下的“过独木桥”问题:同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。
A.B表示两个方向;
countA、countB表示A、B方向上已在独木桥上行人数;
SA用来实现对countA的互斥访问,初值为1;
SB用来实现对countB的互斥访问,初值为1;
mutex用来实现两个方向的行人对独木桥的互斥使用,初值为1。
A方向的行人:
wait(SA);
if(countA=0)then wait(mutex);
countA=countA+1
signal(SA);
通过独木桥;
walt(SA);
countA=countA-1:
if(countA=0)thensignal(mutex);
signal(SA);
B方向的行人:
wait(SB);
if(countB=0)then wait(mutex);
countB=countB+1
signal(SB);
通过独木桥;
wait(SB):
COLmtB=countB=1:
if(countB=0)thensignal(mutex);
signal(SB);