进程管理习题及答案Word文件下载.docx
《进程管理习题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《进程管理习题及答案Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
D
14.下面对进程的描述中,错误的是。
A.进程是动态的概念B.进程执行需要处理机
C.进程是有生命期的D.进程是指令的集合
15.下面的叙述中正确的是。
A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。
B.为了避免发生进程死锁,各进程只能逐个申请资源。
C.操作系统用PCB管理进程,用户进程可以从此PCB中读出与本身运行状况有关的信息
D.进程同步是指某些进程之间在逻辑上的相互制约关系
16.进程控制就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。
A.进程运行B.进程管理
C.进程创建D.进程同步
17.操作系统通过对进程进行管理。
A.JCBB.PCBC.DCTD.CHCT
18.用P、V操作可以解决互斥问题。
A.一切B.某些C.正确D.错误
19.通常,用户进程被建立后,。
A.便一直存在于系统中,直到被操作人员撤消
B.随着作业运行正常或不正常结束而撤消
C.随着时间片轮转而撤消与建立
D.随着进程的阻塞或唤醒而撤消与建立
20.一个进程被唤醒意味着。
A.该进程重新占有了CPU B.它的优先权变为最大
C.其PCB移至等待队列队首D.进程变为就绪状态
21.下面所述步骤中,不是创建进程所必需的。
A.由调度程序为进程分配CPUB.建立一个进程控制块
C.为进程分配内存D.将进程控制块链入就绪队列
22.多道程序环境下,操作系统分配资源以为基本单位。
A.程序B.指令C.进程D.作业
C
23.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则。
A.表示没有进程进入临界区
B.表示有一个进程进入临界区
C.表示有一个进程进入临界区,另一个进程等待进入
D.表示有两个进程进入临界区
B
24.两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的。
A.同步B.互斥C.调度D.执行
A
25.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式称为。
A.进程互斥B.进程同步C.进程制约D.进程通信
D
26.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。
A.5B.3C.1D.0
27.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。
A.运行进程的时间片用完B.运行进程出错
C.运行进程要等待某—事件的发生D.有新进程进入就绪状态
28.在多道程序设计系统中,多个计算问题同时装入计算机系统的主存储器。
A.并发执行B.顺序执行
C.并行执行D.同时执行
29.引入多道程序设计技术后,处理器的利用率。
A.有所改善B.极大地提高
C.降低了D.无变化,仅使程序执行方便
30.从总体上说,采用多道程序设计技术可单位时间的算题量,但对每一个算
题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要。
A.增加,减少B.增加,延长
C.减少,延长D.减少,减少
31.同一程序运行在不同的数据集上,创建了的进程。
A.同步B.互斥
C.相同D.不同
二.填空题
1.进程的基本特征有①、②、独立性、异步性及结构特征。
①动态性②并发性
2.信号量的物理意义是当信号量值大于零时表示①;
当信号量值小于零时其绝对值表示
②。
①可用资源的数目②因请求该资源而被阻塞的进程数目
3.临界资源的概念是①,而临界区是指②。
①一次仅允许一个进程访问的资源
②进程中访问临界资源的那段程序代码
4.进程在运行过程中有三种基本状态,它们是①、②、③。
①运行②就绪③等待(阻塞)
5.进程主要由①、②、③三部分内容组成,其中④是进程存在的唯一标志,而⑤部分也可以为其他进程共享。
①程序段②数据段③PCB④PCB⑤程序段
6.系统中各进程之间逻辑上的相互制约关系称为。
进程同步
7:
若一个进程己进入临界区,其他欲进入临界区的进程必须。
等待
8.将进程的链接在一起就形成了进程队列。
PCB
9.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用①操作,在退出临界区时应调用②操作。
①P②V
10.用信箱实现通信时,应有①和②两条基本原语。
①发送②接收
11.在多道程序系统中,进程之间存在着的不同制约关系可以划分为两类:
①与②。
③指进程间具有的一定逻辑关系;
④是指进程间在使用共享资源方面的约束关系。
①同步②互斥③同步④互斥
12.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是。
1至-(m-1)
13.设系统中有n(n>
2)个进程,且当前不再执行进程调度程序,试考虑下述4种情况:
①没有运行进程,有2个就绪进程,n个进程处于等待状态。
②有1个运行进程,没有就绪进程,n一1进程处于等待状态。
⑨有1个运行进程,有1个就绪进程,n一2进程处于等待状态。
④有1个运行进程,n一1个就绪进程,没有进程处于等待状态。
上述情况中,不可能发生的情况是。
①
14.在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有①个,最少有②个。
①4②0
15.操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是。
S<
16.下面关于进程的叙述不正确的是。
①进程申请CPU得不到满足时,其状态变为等待状态。
②在单CPU系统中,任一时刻至多有一个进程处于运行状态。
③优先级是进行进程调度的重要依据,一旦确定不能改变。
④进程获得处理机而运行是通过调度而实现的。
③
17.信箱逻辑上分成①和②两部分。
①中存放有关信箱的描述。
②由若干格子组成,
每格存放一信件,格子的数目和大小在创建信箱时确定。
①信箱头②信箱体
18.当多个进程等待分配处理机时,系统按一种规定的策略从多个处于状态的进
程中选择一个进程,让它占有处理机,被选中的进程就进入了状态。
就绪、执行
19.若使当前运行的进程总是优先级最高的进程,应选择进程调度算法。
抢占式(剥夺式)
20.操作系统中用于完成一些特定功能的、不可中断的过程称为。
原语
三.简答题
1.在操作系统中为什么要引入进程概念它与程序的关系是怎样的
在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序执行的动态过程中发生的。
用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
进程和程序是既有联系又有区别的两个概念,进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
它们的主要区别如下:
(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念;
进程是程序在处理机上的一次执行过程,它是一个动态概念。
(2)程序的存在是永久的,而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡。
(3)程序仅是指令的有序集合。
而进程则由程序、数据和进程控制块组成。
(4)在传统的操作系统中,进程是资源分配和调度运行的基本单位,而程序不是。
(5)进程与程序之间不是一一对应的,即同一程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程;
而一个进程至少对应执行一个程序。
2.为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作
(1)进程控制:
系统必须设置一套控制机构来实现进程创建、进程撤消以及进程在运行过程中的状态转换。
(2)进程同步:
系统必须设置同步机制来实现对所有进程的运行进行协调,协调的方式包括进程的互斥和进程的同步。
(3)进程通信:
多道程序环境下可能需要诸进程合作完成一个任务,这些进程相互间需要通过交换信息来协调各自工作的进度。
因此系统必须具有进程之间通信(交换信息)的能力。
(4)进程调度:
系统必须能够在处理机空闲时,按一定算法从就绪进程队列中选择一个就绪进程,把处理机分配给它,并为之设置运行的现场使其投入运行。
3.在操作系统中引入线程概念的主要目的是什么
减少程序并发执行时所需付出的时空开销,提高程序执行的并发度。
特别有利于共享存储器的多处理机系统,和更加适合c/s模型。
4.在一个单CPU的多道程序设计系统中,若在某一时刻有N个进程同时存在,那么处于运行态、等待态和就绪态进程的最小和最大值分别可能是多少
若多道程序设计系统中,在某一时刻有N个进程同时存在,则处于运行态的进程最少0个,最大1个;
处于就绪态的进程最少0个,最大N—1个;
处于等待态的进程最少0个,最大N个。
5.进程之间存在哪几种相互制约关系各是什么原因引起的下列活动分别属于哪种制约关系
(1)若干同学去图书馆借书;
(2)两队举行篮球比赛;
(3)流水线生产各道工序;
(4)商品生产和社会消费
进程之间的制约关系分为直接制约关系(即同步)和间接制约关系(即互斥)。
同步是因合作进程之间协调彼此的工作而控制自己的执行速度,即因相互合作、相互等待而产生的制约关系;
而互斥是进程之间竞争临界资源而禁止两个以上的进程同时进入临界区所发生的制约关系。
(1)属于互斥关系,因为一本书只能借给一个同学。
(2)属于互斥关系,篮球只有一个,两队都要争夺。
(3)居于同步关系,各道工序的开始都依赖前一道工序的完成。
(4)属于同步关系,商品没生产出来则消费无法进行,商品没有消费完则无须再生产。
6.为了让用户进程互斥地进入临界区,可以把整个临界区实现成不可中断的过程,即让用户具有屏蔽所有中断的能力。
每当用户程序进入临界区的时候,屏蔽所有中断;
当出了临界区的时候,再开放所有中断。
你认为这种方法有什么缺点。
用户进程进入临界区时屏蔽所有中断,应当也包括系统程序。
若屏蔽的是用户进程,的确可以保护临界资源,但若系统所发出的中断也被屏蔽,则会引起错误,因为系统的中断往往与当前运行的程序无关,却可能是一些重要的硬件中断,如电源故障等,故不可盲目屏蔽所有中断;
又或者当时发出故障中断的中断源恰好是该临界资源,则更应该及时响应处理。
7.设有n个进程共享一个互斥段,对于如下两种情况:
(1)如果每次只允许一个进程进入互斥段;
(2)如果每次最多允许m个进程(m<
n)同时进入互斥段。
试问:
所采用的互斥信号量初值是否相同信号量的变化范围如何
(1)信号量的初值为1。
信号量的变化范围是1,0,-1,…,-(n-1)。
(2)信号量的初值为m。
信号量的变化范围是:
m,m-1,…,1,0,…,-(n-m)。
四.应用题
1.若程序A和B单独执行时分别需要1小时和小时,其中CPU工作时间分别为18分钟和27分钟。
若采用多道程序设计方法,让A和B并行工作,假定CPU利用率达到50%,另加15分钟系统开销,请问系统效率能提高多少
解:
在多道系统中,程序A和B共用的CPU时间为:
(18十27)/50%=90分钟
系统效率提高=(A和B单独执行的时间总和-多道方式下总时间)/A和B单独执行的时间总和,即((60十90)-(90十15))/(60十90)=45/150=30%
2.在测量控制系统中,数据采集任务把所采集的数据送入一单缓冲区;
计算任务从该单缓冲区中取出数据进行计算。
试写出利用信号量机制实现两者共享单缓冲区的同步算法。
解:
在本题中,应设置两个信号童sf,se,信号量sf表示缓冲区中是否有可供打印的
计算结果,其初值为o;
信号量se用于表示缓冲区有无空位置存放新的信息,其初值为1。
本题的同步描述如下:
intse=1;
intsf=0;
main()
{
cobegin
get();
compute();
coend
}
get()
while(采集工作未完成)
{
采集一个数据;
p(se);
将数据送入缓冲区;
v(sf);
}
compute()
while(计算工作未完成)
p(sf);
从缓冲区中取出数据;
v(se);
进行数据计算;
3.下图给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关系并用P、V操作描述它。
上图说明任务启动后Sl先执行。
当S1结束后,S2、S3可以开始执行。
S2、S3完成后,S4才能开始执行。
为了确保这一执行顺序,设三个同步信号量b2、b3、b4分别表示进程S2、S3、S4是否可以开始执行,其初值均为0。
这四个进程的同步描述如下:
intb2=0;
intb3=0;
intb4=0;
main()
cobegin
s1();
s2();
s3();
s4();
coend
s1()
…
v(b2);
v(b3);
s2()
p(b2);
v(b4);
s3()
p(b3);
s4()
p(b4);
/*因在s2和s3完成后均对b4作了v操作,因此这里要用两个p操作*/
4.某系统的进程状态转换图如下,请说明:
(1)引起各种状态转换的典型事件有哪些
(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。
在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换l
(3)试说明是否会发生下述因果转换:
2l
32
41
(1)在本题所给的进程状态转换图中.存在四种状态转换。
当进程调度程序从就绪队列中选取一个进程投入运行时引起转换1;
正在执行的进程如因时间片用完而被暂停执行就会引起转换2;
正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O)则会引起转换3;
当进程等待的事件发生时(如I/O完成)则会引起转换4。
(2)如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。
这是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。
(3)所谓因果转换指的是有两个转换,一个转换的发生会引起另一个转换的发生,前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。
当然这种因果关系并不是什么时候都能发生,而是在一定条件下才会发生。
21:
发生转换2时,就必然引起另一进程的转换1。
因为当发生转换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。
3
2:
某个进程的转换3决不可能引起另一进程发生转换2。
这是因为当前执行进程从执行状态变为阻塞状态.不可能又从执行状态变为就绪状态。
4
1:
当处理机空闲且就绪队列为空时,某一进程的转换4就会引起该进程的转换1。
因为此时处理机空闲,一旦某个进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。
5.某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,厅外的购票者可立即进入,否则需在外面等待。
若把一个购票者看作一个进程,请回答下列问题:
(1)用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。
(2)根据所定义的信号量,把应执行的P、V操作填入下面横线上,以保证进程能够正确地并发执行。
(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。
(1)定义一信号量S,初始值为20,其意义如下:
S>
0 S的值表示可继续进入售票厅的人数
S=0 表示售票厅中已有20名顾客(购票者)
0 |S|的值为等待进入售票厅的人数
COBEGIN PROCESS Pi(i=1,2,……)
begin;
P(S)
进入售票厅;
购票;
退出;
V(S)
end;
COEND
(3)S的最大值为20;
S的最小值为20-n
6.理发店里有一位理发师,一把理发椅和N把供等候理发的顾客坐的椅子.如果没有顾客,则理发师便在理发椅上睡觉.当一个顾客到来时,他必须先唤醒理发师.如果顾客到来时理发师正在理发,则如果有空椅子,可坐下来等;
否则离开。
定义信号量如下:
VarSn:
semaphore;
{位子数目,初值为n}
S:
{理发师睡觉,初值为1}
mutex:
{初值为1}
用P、V操作实现如下:
顾客进程i:
P(Sn);
{门外观望}
P(mutex);
进门;
V(mutex);
V(S);
{if(sn==n-1)v(s);
等候;
理发;
V(Sn)
出门;
理发师进程:
Repeat
P(S);
P(mutex);
叫人理发;
V(mutex);
理发;
Untilfalse;
7.试写出用加锁原语和开锁原语实现两个进程关于临界资源的操作的描述。
答:
Programtest
begin
s:
=0(表示该资源可用)
cobegin
(1)
A:
┇
加锁原语;
临界区A;
开锁原语;
end
B:
临界区B;
conend
end
8.桌子上有一只盘子,每次只能放入一只水果。
爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个儿子专等吃盘中的桔子,一个女儿专等吃盘中的苹果。
请利用P、V操作实现他们之间的同步。
在本题中,应设置三个信号量s、so、sa,信号量s表示盘子是否为空,其初值为1;
信号量so表示盘中是否有桔子,其初值为0;
信号量sa表示盘中是否有苹果,其初值为0。
同步描述如下:
ints=1;
intsa=0;
intso=0;
father();
son();
daughter();
father()
p(s);
将水果放入盘中;
if(放入的是桔子)v(so);
elsev(sa);
son()
p(so);
从盘中取出桔子;
v(s);
吃桔子;
daughter()
p(sa);
从盘中取出苹果;
吃苹果;
9.桌子上有一只盘子,最多可容纳两个水果,每次只能放人或取出一个水果。
爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子中的苹果。
请用Pv操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。
盘子为互斥资源,因可以放两个水果,empty初值为2;
再设信号量mutex初值为1,控制对盘子的互斥访问;
apple表示盘中苹果个数,表示盘中桔子个数,初值均为0。
parbegin
Father:
begin
L1:
p(empty);
放苹果;
V(apple);
GotoL1;
End;
Mother:
L2:
P(empty);
放桔子;
V(orange);
GotoL2;
Daughter:
L3:
p(apple);
取苹果;
V(empty);
GotoL3;
Son:
L4:
P(orange);
取桔子;
GotoL4;
Parend