计算机四级网络工程师(操作系统原理)模拟试卷51
操作系统原理——多选题
1.下列描述的各种进程关系中,哪些仅存在互斥关系?(C,D)
A. 显示进程A等待解压缩进程B发来数据
B. 数据采集进程A向数据传输进程B提供采集到的数据
C. 生产者进程P1P2…Pn向环形缓冲区放入数据
D. 消费者进程Q1Q2…Qn从环形缓冲区中提取数据
E. 进程P1P2按对应日期运行,单号P1运行,双号P2运行
解析:进程互斥是指由于共享资源所要求的排他性,进程间要相互竞争,以使用这些互斥资源。A选项中进程A是需要等到进程B发来数据才能进行解压缩,说明两个进程之间是相互协作的关系,不存在互斥,B选项同理;E选项中进程P1和P2按对应日期运行,单号P1运行,双号P2运行,所描述的关系中不存在互斥和同步的关系。故答案选择CD选项。
2.下列进程(线程)调度算法中,考虑公平因素的算法是(A,B)
A. 先来先服务算法
B. 轮转法
C. 最短进程(线程)优先算法
D. 彩票算法
E. 最高优先级算法
解析:先来先服务调度算法是最公平的算法,会按照进程申请的顺序来执行。轮转法的基本思想是将CPU的处理器划分成一个个时间片,就绪队列中的诸进程轮流运行一个时间片,对于进程而言,也是考虚到公平因素,因为当时间片结时,就强道运行进程让出CPU。故选择AB选项。
3.下列作业调度算法中,对短作业偏爱的算法是(A,D)
A. 短作业优先算法
B. 轮转法
C. 先来先服务算法
D. 最短剩余时间优先算法
E. 最高优先级算法
解析:在进程调度算法中,适用于作业调度算法的有先来先服务、最短作业优先、最短剩余时间优先、最高相应比优先算法。先来先服务算法是根据请求的顺序来处理,所以对短作业并不友好,无法针对性提高短作业的处理效率。最短作业优先、最短剩余时间优先、最高相应比优先算法可以针对性提高短作业的处理效率。轮转法是根据分配的时间片来服务,最高优先级算法是根据优先级来服务,这两种算法适用于进程和线程调度。故选择AD选项。
4.在有N个缓冲区的生产者消费者的问题中,下列叙述中哪些是错误的
producer()
{ int item;
while(TRUE){
item = produce_item();
P(empty);
P(mutex);
insert_item(item);
V(mutex)
V(full);
}
}
consumer()
{ int item;
while(TRUE){
P(full);
P(mutex);
item =remove_item();
V(mutex);
V(empty);
consume_item(item);
}(C,D)
A. 信号量empty的初值为N
B. 信号量full的初值为o
C. 信号量mutex的初值为0
D. P(full)和P(mutex)两条语句可以颠倒顺序
E. V(full)和V(mutex)两条语句可以颠倒顺序
解析:empty信号量表明的是空闲资源数目,这里为N,所以其初始值为N; full信号量表明的是满的资源数目,这里为0,即其初始值为0; mutex信号量用于实现互斥访问,初始值为1。 P(full)和P(mutex)两条语句若颠倒顺序,可能导致死锁。故本题答案选择CD选项。
5.关于读者写者问题,下列叙述中哪些是错误的( )。
reader()
{
while (TRUE){
P(mutex);
rc=rc+1;
if(rc ==1)P(W);
V(mutex); ①
读操作;
P(mutex);②
rc = rc – 1;
if(rc ==0)V(w);
V(mutex);
其他操作;
}
}
writer()
{
while (TRUE) {
…
P(w);
写操作;
V(w);
}
}(A,D,E)
A. 信号量w的初值是0
B. 信号量mutex的初值是1
C. 计数器rc的初值是0
D. 语句P(mutex)的位置可以放到语句rc=rc+1后面
E. 语句①②可以取消
解析:信号量w是为了互斥访问写操作,初始值为1; P (mutex) 是为了互斥访问rc这一临界资源,不能修改其执行顺序;语句①②的存在使得多个reader可以同时访问,不能取消。故本题答案选择ADE选项。
6.测试与设置指令(Test&Set)是解决互斥访问临界区的硬件方法。下列关于该指令功能的叙述中,哪些是正确的( )。(A,B,C)
A. 测试W的值,若W=1,则返回重新测试
B. 测试W的值,若W=0,置位W=1,进入临界区
C. 退出临界区时,复位W=0
D. 测试W的值,若W=1,则给W清零,并进入临界区
E. 测试W的值,若W=0,则返回重新测试
解析:TS指令实现互斥的算法是:测试锁变量的值,如为1,则重复执行本命令,不断重复测试变量的值;如为0,则立即将锁变量测值置为1,进入临界区;测试并设置指令是一条完整的指令,而在一条指令的执行中间是不会被中断的,保证了锁的测试和关闭的连续性;退出临界区时,将锁变量测试值设为0。故本题答案选择ABC选项。
7.用管程解决进程间同步关系时,在管程内使用的对象是( )。(B,C)
A. 一组信号量
B. 共享数据结构
C. 一组操作过程
D. 全局条件变量
E. 一组环境变量
解析:一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。所以管程管理的对象是共享的数据结构和一组操作过程。故本题答案选择BC选项。
8.下列关于进程的叙述中,哪些是正确的( )。(B,C)
A. 一个进程的状态变化必定会引起另一个进程的状态变化
B. 信号量的初值一定大于等于零
C. 进程是资源分配的基本单位,线程是处理机调度的基本单位
D. 进程被挂起后,它的状态一定为阻塞态
E. 操作系统中引入P、V操作主要是为了解决死锁问题
解析:一个进程的状态变化不一定会引起另一个进程的状态变化;信号量的初值一定大于等于零,这是因为信号量表示了资源的剩余数,资源数目不会是负数;进程是资源分配的基本单位,线程是处理机调度的基本单位;进程被挂起后,它的状态可以为阻塞挂起状态,或者为就绪挂起状态;操作系统中引入P、V操作主要是为了实现进程的互斥与同步。故本题答案选择BC选项。
9.下列关于信号量使用的叙述中,哪些是正确的(
本文档预览:3600字符,共9391字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载