操作系统复习题2.docx
《操作系统复习题2.docx》由会员分享,可在线阅读,更多相关《操作系统复习题2.docx(13页珍藏版)》请在冰豆网上搜索。
操作系统复习题2
3.P、V操作是
A.两条低级进程通信原语B.两组不同的机器指令
C.两条系统调用命令D.两条高级进程通信原语
答:
A
4.对进程的管理和控制使用
A.指令B.原语C.信号量D.信箱通信
答:
B
5.进程的并发执行是指若干个进程
A.同时执行B.在执行的时间上是重叠的
C.在执行的时间上是不可重叠的D.共享系统资源
答:
B
6.若P、V操作的信号量S初值为2,当前值为一1,则表示有等待进程。
A.0个B.1个C.2个D.3个
答:
B
7.程序的顺序执行通常在的工作环境中,具有特征;程序的并发执行在的工作环境中,具有特征。
A.单道程序B.多道程序
C.程序的可再现性D.资源共享
答:
①A②C③B④D
8.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是;由运行状态变为阻塞状态的条件是。
A.时间片用完B.等待某事件发生
C.等待的某事件己发生D.被进程调度程序选中
答:
①D②B
9.下列的进程状态变化中,变化是不可能发生的。
A.运行→就绪B.运行→等待
C.等待→运行D.等待→就绪
答:
C
10.一个运行的进程用完了分配给它的时间片后,它的状态变为
A.就绪B.等待C.运行D.由用户自己确定
答:
A
11.用P、V操作管理临界区时,信号量的初值应定义为
A.-lB.0C.1D.任意值
答:
C
12.用V操作唤醒一个等待进程时,被唤醒进程的状态变为
A.等待B.就绪C.运行D.完成
答:
B
13.进程间的同步是指进程间在逻辑上的相互
关系。
A.联接B.制约C.继续D.调用
答:
B
14.是一种只能进行P操作和V操作的特殊变量。
A.调度B.进程C.同步D.信号量
答:
D
15.是解决进程间同步和互斥的一对低级通信原语。
A.lock和unlockB.P和V
C.W和SD.Send和Receive
答:
B
16.下面对进程的描述中,错误的是
A.进程是动态的概念B.进程执行需要处理机
C.进程是有生命期的D.进程是指令的集合
答:
D
17.下面的叙述中正确的是
A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同
B.为了避免发生进程死锁,各进程只能逐个申请资源
C.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关的信息
D.进程同步是指某些进程之间在逻辑上的相互制约关系
答:
D
18.进程控制就是对系统中的进程实施有效的管理,通过使用、进程撤消、进程阻塞、进程唤醒等进程控制原语实现。
A.进程运行B.进程管理C.进程创建D.进程同步
答:
C
19.信箱通信是一种通信方式。
A.直接通信B.间接通信C.低级通信D.信号量
答:
B
20.操作系统通过对进程进行管理。
A.进程B.进程控制块C.进程启动程序D.进程控制区
答:
B
21.操作系统通过对进程进行管理。
A.JCBB.PCBC.DCTD.CHCT
答:
PCB
22.在操作系统中,解决进程间的和问题的一种方法是使用。
A.调度B.互斥C.通讯
D.同步E.分派E信号量
答①D②B③F
23.用P、V操作可以解决互斥问题。
A.一切B.某些C.正确D.错误
答:
A
24.通常,用户进程被建立后,
A.便一直存在于系统中,直到被操作人员撤消
B.随着作业运行正常或不正常结束而撤消
C.随着时间片轮转而撤消与建立
D随着进程的阻塞或唤醒而撤消与建立
答:
B
25.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次
A.等待活动B.运行活动C.单独操作D.关联操作
答B
27.一个进程被唤醒意味着
A.该进程重新占有了CPUB.它的优先权变为最大
C.其PCB移至等待队列队首D.进程变为就绪状态
答:
D
28.下面所述步骤中,不是创建进程所必需的。
A由调度程序为进程分配CPUB建立一个进程控制块
C.为进程分配内存D.将进程控制块链入就绪队列
答:
A
29.多道程序环境下,操作系统分配资源以为基本单位。
A程序B.指令C.进程D.作业
答:
C
30.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则
A.表示没有进程进入临界区;
B.表示有一个进程进入临界区
C.表示有一个进程进入临界区,另一个进程等待进入
D.表示有两个进程进入临界区
答:
B
31.两个进程合作完成一个任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的
A.同步B.互斥C.调度D.执行
答A
32.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式称为
A.进程互斥B.进程同步C.进程制约D.进程通信
答:
D
二、填空题
1.进程的基本特征有、、独立、异步及结构特征。
答:
①动态②并发
2.信号量的物理意义是当信号量值大于零时表示:
当信号量值小于零时,其绝对值为。
答:
①可用资源的数目②因请求该资源而被阻塞的进程数目
3.临界资源的概念是,而临界区是指。
答:
①一次仅允许一个进程访问的资源
②进程中访问临界资源的那段程序代码
4.进程在运行过程中有三种基本状态,它们是、、
答:
①运行②就绪③等待
5.进程主要由、、三部分内容组成,其中是进程存在的唯一标志。
而部分也可以为其他进程共享。
答:
①程序段②数据段③PCB④PCB⑤程序段
6.系统中各进程之间逻辑上的相互制约关系称为
答:
进程同步
7.若一个进程已进入临界区,其它欲进入临界区的进程必须
答:
等待
8.将进程的链接在一起就形成了进程队列。
答:
PCB
9.用p、V操作管理临界区时,任何一个进程在进入临界区之前应调用操作,退出临界区时应调用操作。
答:
①P②V
10.用信箱实现通信时,应有和两条基本原语。
答①发送②接收
11.在多道程序系统中,进程之间存在着的不同制约关系可以划分为两类:
与。
指进程间具有的一定逻辑关系,是指进程间在使用共享资源方面的约束关系。
答:
①同步②互斥③同步④互斥
12.对于信号量可以做操作和操作,操作用于阻塞进程,操作用于释放进程。
程序中的和操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。
答:
①③⑤P②④⑥V
13.程序顺序执行时有顺序性、和可再现性的特点。
答:
封闭性
14.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是
答:
1至一(m一1)
15.设系统中有n个进程,且当前不在执行进程调度程序,试考虑下述4种情况:
①没有运行进程,有2个就绪进程,n-2个进程处于等待状态。
②有1个运行进程,没有就绪进程,n-1进程处于等待状态。
③有1个运行进程,有1个就绪进程,n-2进程处于等待状态。
④有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
上述情况中,不可能发生的情况是。
答:
①
16.进程是一个态概念,而程序是一个态概念。
答:
①动②静
17.在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有个,最少有个。
答:
①4②0
18.操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是
答:
S〈0
19.下面关于进程的叙述不正确的是
①进程申请CPU得不到满足时,其状态变为等待状态。
②在单CPU系统中,任一时刻有一个进程处于运行状态。
③优先级是进行进程调度的重要依据,一旦确定不能改变。
④进程获得处理机而运行是通过调度而实现的。
答:
①③
20.信箱逻辑上分成和两部分。
中存放有关信箱的描述。
由若干格子组成,每格存放一信件,格子的数目和大小在创建信箱时确定。
答:
①信箱头②信箱体
解析题2
1.叙述进程和程序的主要区别。
解:
进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:
(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。
而进程是程序在处理机上的一次执行过程,它是一个动态概念。
(2)程序的存在是永久的。
而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。
(3)程序仅是指令的有序集合。
而进程则由程序、数据和进程控制块组成。
(4)进程与程序之间不是一一对应的,即同一程序同时运行于若干不同的数据集合
上,它将属于若干个不同的进程:
而一个进程可以执行多个程序。
2.在测量控制系统中,数据采集任务把所采集的数据送入一单缓冲区:
计算任务从该单缓冲区中取出数据进行计算。
试写出利用信号量机制实现两者共享单缓冲区的同步算法。
【分析及相关知识】在本题中采集任务与计算任务共用一个单缓冲区.当采集任务采集到一个数据后,只有当缓冲区为空时才能将数据送入缓冲区中存放,否则应等待缓冲区腾空;当缓冲区中有数据时,计算任务才能从缓冲区中取出数据进行计算,否则也应等待。
本题实际上是一个生产者-消费者问题.将生产者-消费者问题抽象出来,以另外一种形式描述是一种常见的试题形式.只要对生产者-消费者问题有了深入的理量解,就不难解决此类试题。
解:
在本题中,应设置两个信号量Sf、Se,信号量Sf表示缓冲区中是否有可供打印的计算结果,其初值为0;信号量Se用于表示缓冲区有无空位置存放新的信息,其初值为1。
本题的同步描述如下:
semaphoreSe=1,Sf=0;
voidget(){
do{
采集一个数据;
wait(Se);
将数据送入缓冲区中;
signal(Sf);
}while(true)
}
voidCompute(){
do{
wait(Sf);
从缓冲区中取出数据;
signal(Se);
进行数据计算;
}while(true)
}
main(){cobeginget();Compute();coend}
4.图2.7给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关
系,并用P、V操作描述它。
解:
图2.7说明任务启动后S1先执行。
当S1结束后,S2、S3可以开始执行。
但、S3完成后,S4才能开始执行。
为了确保这一执行顺序,设四个同步信号量b1、b2、b3、b4。
这四个进程的同步描述如下
semaphoreb1=0,b2=0,b3=0,b4=0;
S1(){
S1;
signal(b1);
signal(b2);
}
S2(){
wait(b1)
S2;
signal(b3);
}
S3(){
Wait(b2);
S3;
signal(b4);
}
S4(){
wait(b3);
wait(b4);
S4;
}
main(){cobegins1();s2();s3();s4();coend}
5.桌上有一空盘,允许存放一只水果。
爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定当盘空时一次只能放一只水果供吃者取用,请实现爸爸、儿子、女儿三个并发进程的同步。
解:
设三个信号量S、So、Sa,S表示盘子是否为空,So表示盘中是否有桔子,Sa表示盘中是否有苹果。
semaphoreS=1,So=0,Sa=0;
voidfather(){
do{
wait(S)
将水果放入盘中;
if(放入的是桔子)signal(So)
elsesignal(Sa);
}while(true)
}
voidson(){
do{
wait(So);
从盘中取出桔子;
signal(S);
吃桔子;
}while(true)
}
voiddaughter(){
do{
wait(Sa);
从盘中取出苹果;
signal(S);
吃苹果;
}while(true)
}
voidmain{
cobeginfather();son();daughter();coend
}
6.设有一个发送者进程和一个接收者进程,其流程图如下,S是用于实现进程同步的信号量,mutex是用于实现进程互斥的信号量。
请添图,假定缓冲区有无限多个,S和mutex的初值应为多少?
发送者进程:
接收者进程:
解:
S初值为0,mutex初值为1
A框wait(mutex)
B框signal(mutex)
C框wait(S)
D框wait(mutex)
7.写出P、V操作的定义
由三个进程PA、PB、PC合作解决文件打印问题:
PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录,PC将缓冲区2的内容打印出来,每执行一次打印一个记录。
缓冲区的大小等于一个记录大小。
请实现文件的正确打印。
解:
semaphoreempty1=1,empty2=1,full1=0,full2=0;
voidPA(){
do{
从磁盘读一个记录;
wait(empty1);
将记录存入缓冲区1;
signal(full1);
}while(true)
}
voidPB(){
do{
wait(full1);
从缓冲区1中取出一个记录;
signal(empty1);
wait(empty2);
将记录存入缓冲区2;
signal(full2);
}while(true)
}
voidPC(){
do{
wait(full2);
从缓冲区2中取出记录;
signal(empty2);
打印记录;
}while(tue)
}
voidmain{
cobeginPA();PB();PC();coend
}