作业三进程管理.docx
《作业三进程管理.docx》由会员分享,可在线阅读,更多相关《作业三进程管理.docx(22页珍藏版)》请在冰豆网上搜索。
作业三进程管理
一、单项选择题
1.在进程管理中,当C时,进程从阻塞状态变为就绪状态。
A、进程被进程调度程序选中B、等待某一事件
C、等待的事件发生D、时间片用完
2.分配到必要的资源并获得处理机时的进程状态是B。
A、就绪状态B、执行状态C、阻塞状态D、撤消状态
3.P、V操作是A。
A、两条低级进程通信原语B、两组不同的机器指令
C、两条系统调用命令D、两条高级进程通信原语
4.对进程的管理和控制使用B。
A、指令B.原语C、信号量D、信箱通信
5.进程的并发执行是指若干个进程B。
A、同时执行B、在执行的时间上是重叠的
C、在执行的时间上是不可重叠的D、共享系统资源
6.若P、V操作的信号量S初值为2,当前值为一1,则表示有B等待进程。
A.0个B.1个
7.程序的顺序执行通常在A①的工作环境中,具有②C特征;程序的并发执行在B③的工作环境中,具有④D特征。
A、单道程序B、多道程序C、程序的可再现性D、资源共享
8.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是_①D;由运行状态变为阻塞状态的条件是②B。
A、时间片用完B、等待某事件发生
C、等待的某事件已发生D、被进程调度程序选中
9.下列的进程状态变化中,C变化是不可能发生的。
A、运行──就绪B、运行──等待C、等待──运行D、等待──就绪
10.一个运行的进程用完了分配给它的时间片后,它的状态变为A。
A、就绪B、等待C、运行D、由用户自己确定
11.用P、V操作管理临界区时,信号量的初值应定义为C。
A、一1B、0C、1D、任意值
12.用V操作唤醒一个等待进程时,被唤醒进程的状态变为B。
A、等待B、就绪C、运行D、完成
13.进程间的同步是指进程间在逻辑上的相互B关系。
A、联接B、制约C、继续D、调用
14.D是一种只能进行P操作和V操作的特殊变量。
A、调度B、进程C、同步D、信号量
15.B是解决进程间同步和互斥的一对低级通信原语。
A、lock和unlockB、P和VC、W和SD、Send和Receive
16.下面对进程的描述中,错误的是D。
A、进程是动态的概念B、进程执行需要处理机
C、进程是有生命期的D、进程是指令的集合
17.下面的叙述中正确的是D。
A、操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同
B、为了避免发生进程死锁,各进程只能逐个申请资源
C、操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关的信息
D、进程同步是指某些进程之间在逻辑上的相互制约关系
18.进程控制就是对系统中的进程实施有效的管理,通过使用C、进程阻塞、进程唤醒等进程控制原语实现。
A、进程运行B、进程管理C、进程创建D、进程同步
19.信箱通信是一种B通信方式。
A、直接通信B、间接通信C、低级通信D、信号量
20.操作系统通过B对进程进行管理。
A、进程B、进程控制块C、进程启动程序D、进程控制区
21.操作系统通过B对进程进行管理。
A、JCBB、PCBC、DCTD、CHCT
22.在操作系统中,解决进程间的①D和B②问题的一种方法是使用③F。
A、调度B、互斥C、通讯D、同步E、分派F、信号量
23.某系统的进程状态如图所示:
a是①B状态,b是②D状态,c是C③
状态。
1表示④B,2表示⑤A,3表示发生了等待事件,4表示等待事结束。
下列情况中,当发生前者的状态转换时,⑥A会导致发生后者的状态转换。
①②③:
A、挂起B、运行C、等待D、就绪E、睡眠
④⑤:
A、落选B、选中C、等待
⑥:
A、2→1B、4→2
某系统进程状态图
24.
用P、V操作可以解决A互斥问题。
A、一切B、某些C、正确D、错误
25.通常,用户进程被建立后,B。
A、便一直存在于系统中,直到被操作人员撤消
B、随着作业运行正常或不正常结束而撤消
C、随着时间片轮转而撤消与建立
D、随着进程的阻塞或唤醒而撤消与建立
26.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次B。
A、等待活动B、运行活动C、单独操作D、关联操作
27.一个进程被唤醒意味着D。
A、该进程重新占有了CPUB、它的优先权变为最大
C、其PCB移至等待队列队首D、进程变为就绪状态
28.下面所述步骤中,A不是创建进程所必需的。
A、由调度程序为进程分配CPUB、建立一个进程控制块
C、为进程分配内存D、将进程控制块链入就绪队列
29.多道程序环境下,操作系统分配资源以C为基本单位。
A、程序B、指令C、进程D、作业
30.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则B。
A、表示没有进程进入临界区
B、表示有一个进程进入临界区
C、表示有一个进程进入临界区,另一个进程等待进入
D、表示有两个进程进入临界区
31.两个进程合作完成一个任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的A。
A、同步B、互斥C、调度D、执行
32.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式称为D。
A、进程互斥B、进程同步C、进程制约D、进程通信
33.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。
但是不适当的C也可能产生死锁。
A、进程优先权B、资源的线性分配C、进程推进顺序D、分配队列优先权
34.采用资源剥夺法可解除死锁,还可以采用B方法解除死锁。
A、执行并行操作B、撤消进程C、拒绝分配新资源D、修改信号量
35.产生死锁的四个必要条件是:
互斥、B、循环等待和不剥夺。
A、请求与阻塞B、请求与保持C、请求与释放D、释放与阻塞
36.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏A条件是不太实际
A、互斥B、不可抢占C、部分分配D、循环等待
37.在分时操作系统中,进程调度经常采用C算法。
A、先来先服务B、最高优先权C、时间片轮转D、随机
38.资源的按序分配策略可以破坏D条件。
A、互斥使用资源B、占有且等待资源C、非抢夺资源D、循环等待资源
39.在C的情况下,系统出现死锁。
A、计算机系统发生了重大故障
B、有多个封锁的进程同时存在
C、若干进程因竞争资源而无休止地相互等待他方释放已占有的资源
D、资源数大大小于进程数或进程同时申请的资源数大大超过资源总数
40.银行家算法是一种B算法。
A、死锁解除B、死锁避免C、死锁预防D、死锁检测
41.当进程数大于资源数时,进程竞争资源B会产生死锁。
A、一定B、不一定
42.B优先权是在创建进程时确定的,确定之后在整个运行期间不再改变。
A、先来先服务B、静态C、动态D、短作业
43.某系统有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是B。
A、9B、10C、11D、12
44.以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是非等待状态下诸进程中优先级最高的进程。
上述描述是B。
A、正确的B、错误的
45.当检测出发生死锁时,可以通过撤消一个进程解除死锁。
上述描述是B。
A、正确的B、错误的
46.在下列解决死锁的方法中,属于死锁预防策略的是B。
A、银行家算法B、资源有序分配法C、死锁检测法D、资源分配图化简法
47.下叙述中正确的是B。
A、调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。
B、预防死锁的发生可以通过破坏产生死锁的四个必要条件之来实现,但破坏互斥条件的可能性不大。
C、进程进入临界区时要执行开锁原语。
D、既考虑作业等待时间,又考虑作业执行时间的调度算法是先宋先服务算法。
二、填空题
1.进程的基本特征有①动态、①并发、独立、异步及结构特征。
2.信号量的物理意义是当信号量值大于零时表示①可用资源的数目;当信号量值小于零时,其绝对值为②因请求该资源而被阻塞的进程的数目。
3.临界资源的概念是①一次仅允许一个进程访问的资源,而临界区是指②进程中访问临界资源的那段程序代码。
4.进程在运行过程中有三种基本状态,它们是①运行、②就绪、③等待。
5.进程主要由①程序段、②数据段、③PCB三部分内容组成,其中④PCB是进程存在的惟一标志。
而程序段部分也可以为其他进程共享。
6.系统中各进程之间逻辑上的相互制约关系称为同步。
7.若一个进程已进入临界区,其他欲进入临界区的进程必须等待。
8.将进程的PCB链接在一起就形成了进程队列。
9.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用①P操作,退出临界区时应调用②V操作。
10.用信箱实现通信时,应有①发送和②接收两条基本原语。
11.在多道程序系统中,进程之间存在着的不可制约关系可以划分为两类①同步与②互斥。
③同步指进程间具有的一定逻辑关系;④互斥是指进程间在使用共享资源方面的约束关系。
12.对于信号量可以做①P操作和②V操作,③P操作用于阻塞进程,④橾作用于释放进程。
程序中的⑤P和⑥V操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。
13.程序顺序执行时有顺序性、封闭性和结果可再现性的特点。
14.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1至(m-1)。
15.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况:
①没有运行进程,有2个就绪进程,n个进程处于等待状态。
②有1个运行进程,没有就绪进程,n一1进程处于等待状态。
③有1个运行进程,有1个就绪进程,n一2进程处于等待状态。
④有1个运行进程,n—1个就绪进程,没有进程处于等待状态。
上述情况中,不可能发生的情况是1
16.进程是一个①动态概念,而程序是一个②静态概念。
17.在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有①4个,最少有②0个。
18.操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是S<0。
19.下面关于进程的叙述正确的是3。
①进程申请CPU得不到满足时,其状态变为等待状态。
②在单CPU系统中,任一时刻有一个进程处于运行状态。
③优先级是进行进程调度的重要依据,一旦确定不能改变。
④进程获得处理机而运行是通过调度而实现的。
20.信箱逻辑上分成①信箱头和②信箱体两部分。
①信箱头中存放有关信箱的描述。
②新箱体由若干格子组成,每格存放一信件,格子的数目和大小在创建信箱时确定。
21.进程的调度方式有两种,一种是①剥夺方式,另一种是②非剥夺方式。
22.死锁是指在系统中的多个进程无限期地等待永远不会发生的条件。
23.一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程。
而确定优先权的方法概括起来不外乎是基于①静态特性和②动态特性两种方法。
前者所得到的是③静态_________优先权,后者所得到的是④动态优先权。
24.进程调度负责处理机的分配工作。
25.在先来先服务调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
26.死锁产生的必要条件有四个,即①互斥条件、②请求和保持条件、③不可剥夺条件、④循环等待条件。
27.解除死锁常用的方法有两种。
①剥夺资源是从其他进程那里剥夺足够数量的资源给②____锁死_________进程,以解除死锁状态。
28.银行家算法中,当一个进程提出的资源请求将导致系统从①安全状态进入②不安全状态时,系统就拒绝它的资源请求。
29.如果要求所有进程一次性申请它所需要的全部资源。
若系统有足够的资源分配给进程,便一次把所有的资源分配给该进程。
但在分配时只要有一种资源要求不能满足,则资源全不分配,进程等待。
这种死锁预防方法破坏了死锁产生必要条件中的请求和保持条件。
30.对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。
典型的银行家算法是属于①避免死锁,破坏环路等待条件是属于②预防死锁,而剥夺资源是③解除死锁的基本方法。
三、解析题:
1.桌上有一空盘,只允许存放一只水果。
爸爸可以向盘中放苹果,妈妈可以向盘中放桔子,儿子专等吃盘中的桔子,女儿转等吃盘中的苹果。
请用P、V原语实现爸爸、妈妈、儿子、女儿四者之间的同步。
解:
在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。
同步描述如下:
intS=1;
intSa=0;
intSo=0;
main()
{
cobegin
father();/*父亲进程*/
son();/*儿子进程*/
daughter();/*女儿进程*/
coend
}
father()
{
while
(1)
{
P(S);
将水果放入盘中;
if(放入的是桔子)V(So);
elseV(Sa);
}
}
son()
{
while
(1)
{
P(So);
从盘中取出桔子;
V(S);
吃桔子;
}
}
daughter()
{
while
(1)
{
P(Sa);
从盘中取出苹果;
V(S);
吃苹果;
}
}
2.说明下列活动是属于哪种制约关系。
(1)若干同学去图书馆借书;——互斥
(2)两队进行篮球比赛;——互斥
(3)流水线上的各道工序;——同步
(4)商品生产与社会消费。
——同步
3.设S1和S2为两个信号灯变量,下列八组P、V操作哪些可以同时进行?
哪些不能同时进行?
为什么?
(1)P(S1),P(S2)
(2)P(S1),V(S2)
(3)V(S1),P(S2)(4)V(S1),V(S2)
(5)P(S1),P(S1)(6)P(S2),V(S2)
(7)V(S1),P(S1)(8)V(S2),V(S2)
能同时进行的包括:
(1)、
(2)、(3)、(4)。
这些操作涉及不同信号灯变量,属于关于不同组共享变量的临界区。
不能同时进行的包括:
(5)、(6)、(7)、(8)。
这些操作涉及相同的信号灯变量,属于关于同一组共享变量的临界区。
4.设公共汽车上有司机和前、后门售票员,其活动如下图所示。
为了安全起见,显然要求:
(1)关前后车门后方能启动车辆;
(2)到站停车后方能开车门。
试用信号灯与PV操作实现司机与售票员之间的同步问题。
这个没有具体的答案。
5.假定系统有三个并发进程read,move和print共享缓冲器B1和B2。
进程read负责从输入设备上读信息,每读出一个记录后把它存放到缓冲器B1中。
进程move从缓冲器B1中取出一记录,加工后存入缓冲器B2。
进程print将B2中的记录取出打印输出。
缓冲器B1和B2每次只能存放一个记录。
要求三个进程协调完成任务,使打印出来的与读入的记录的个数,次序完全一样。
请用PV操作,写出它们的并发程序代码。
empty1表示缓冲区B1是否为空full1表示缓冲区B1是否未满
empty2表示缓冲区B2是否为空full2表示缓冲区B2是否未满
intempty1=1full1=0empty2=1full2=0
parbegin
read
{p(empty1);
读入B1
V(full1)
}
MOVE
{
p(full1);取出
V(empty1);释放B1
P(empty2);放入B2
V(full2);
}
PTINENT
{
P(full2);取出打印
V(empty2);释放B2
}
parend
6.设有A、B、C三组进程,它们互斥地使用某一独占型资源R,使用前申请,使用后释放.资源分配原则如下:
(1)当只有一组申请进程时,该组申请进程依次获得R;
(2)当有两组申请进程时,各组申请进程交替获得R,组内申请进程交替获得R;
(3)当有三组申请进程时,各组申请进程轮流获得R,组内申请进程交替获得R.
试用信号灯和PV操作分别给出各组进程的申请活动程序段和释放活动程序段。
解:
int free=1;//设备状态标志 semaphore mutex=1;
semaphore qa=qb=qc=0; //各组等待队列
int counta=countb=countc=0;//等待队列长度 A组申请:
P(mutex); if(free==1){ free=0; V(mutex); } else{ counta++; V(mutex); P(qa); } A组释放:
P(mutex); if(countb>0){ countb--; V(qb); }else{ if(countc>0){ countc--; V(qc); }else{ if(counta>0){
counta-- V(qa); }else{ free=1; } }
} }
7.设自行车生产线上有一只箱子,其中有N个位置(N≥3),每个位置可存放一个车架或一个车轮;又设有三个工人,其活动分别为:
工人1活动:
do{
加工一个车架;
车架放入箱中;
}while
(1)
工人2活动:
do{
加工一个车轮;
车轮放入箱中;
}while
(1)
工人3活动:
do{
箱中取一车架;
箱中取二车轮;
组装为一台车;
}while
(1)
试分别用信号灯与PV操作实现三个工人的合作(要求解中不含死锁)。
为防止死锁的发生,箱中车架的数量不可超过N-2,车轮的数量不可超过N-1,这些限制可以用两个信号灯来表达。
semaphores1=N-2;
semaphores2=N-1;
如此,可以给出不含死锁的完整解法如下:
工人1活动:
do{
加工一个车架;
P(s1);
P(empty);
车架放入箱中;
V(frame);
}while
(1)
工人2活动:
do{
加工一个车轮;
P(s2);
P(empty);
车轮放入箱中;
V(wheel);
}while
(1)
工人3活动:
do{
P(frame);
箱中取一车架;
V(empty);
V(s1);
P(wheel);
P(wheel);
箱中取二车轮;
V(empty);
V(empty);
V(s2);
V(s2);
组装为一台车;
}while
(1)
8.进程及状态转化如下图,试回答下列问题:
(1)说明引起每种状态转化的原因。
(2)下述情况能否发生?
若能发生,试说明是在什么情况下发生的:
a.由于状态转化为2,而引起状态转化为1;
b.由于状态转化为3,而引起状态转化为1;
c.由于状态转化为3,而引起状态转化为2;
d.由于状态转化为3,而引起状态转化为4;
e.由于状态转化为4,而引起状态转化为1。
这个也没有搜索到答案
9.某系统有P0~P4共5个进程及A,B,C,D四类资源,在T0时刻资源的分配情况如下表所示:
进程
Max
ABCD
Allocation
ABCD
Available
ABCD
P0
0044
0032
1622
P1
2750
1000
P2
361010
1354
P3
0984
0332
P4
16610
1014
试问:
(1)此状态是否为安全状态,如果安全,给出安全序列。
(2)在此基础上,P0申请(0,0,2,2)能否分配?
为什么?
P2申请(1,2,2,2)能否分配?
为什么?
P3申请(0,3,0,0)能否分配?
为什么?
这个,也没有答案,(数值变化很大,却少了D,只有ABC,而且,最后的问题,也都不一样,且,中间的图片,也是不同的,所以,没有粘贴。
)
10.在银行家算法中,若出现如下资源分配情况:
AllocationNeedAvailable
ABCDABCDABCD
P0:
003200121623
P1:
10001750
P2:
13542356
P3:
03320652
P4:
00140656
试问:
(1)当前状态是否安全?
最后一个数值不对,题目是1623,这上面是1622
(2)如果进程P2提出安全请求Request[2]=(1,2,2,2),系统能否将资源分配给它?
说明原因。
11.某系统采用死锁检测手段发现死锁,设系统中资源类集合为{A,B,C},资源类A中共有8个实例,资源类B中共有6个实例,资源类C中共有5个实例。
又设系统中进程集合为{p1,p2,p3,p4,p5,p6},某时刻系统状态如下:
AllocationRequestAvailable
ABCABCABC
p1:
100000221
p2:
321000
p3:
012202
p4:
000000
p5:
210031
p6:
001000
(1)在上述状态下系统依次接受如下请求:
Reque