进程治理习题及答案.docx
《进程治理习题及答案.docx》由会员分享,可在线阅读,更多相关《进程治理习题及答案.docx(23页珍藏版)》请在冰豆网上搜索。
进程治理习题及答案
进程治理习题答案
一.选择题
1.在进程治理中,当时进程从阻塞状态变成绩绪状态.
A.进程被进程调度程序选中B.等待某一事件
C.等待的事件发生D.时刻片用完
答:
C
2.分派到必要的资源并取得处置机时的进程状态是。
A.就绪状态B.执行状态
C.阻塞状态D.撤消状态
答:
B
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.被进程调度程序选中
答,①D②B
8.下列的进程状态转变中,转变是不可能发生的。
A.运行一就绪B.运行一等待
C.等待一运行D.等待一就绪
答:
C
9.一个运行的进程用完了分派给它的时刻片后,它的状态变成。
A.就绪B.等待
C.运行D.由用户自己确信
答:
A
10.用P、V操作治理临界区时,信号量的初值应概念为。
A.一1B.0C.1D.任意值
答:
C
11.用V操作唤醒一个等待进程时,被唤醒进程的状态变成 .
A.等待B.就绪C.运行D.完成
答:
B
12.进程间的同步是指进程间在逻辑上的彼此关系。
A.联接B.制约C.继续D.挪用
答:
B
13.是一种只能进行P操作和V操作的特殊变量。
A.调度B.进程C.同步D.信号量
答:
D
14.下面对进程的描述中,错误的是。
A.进程是动态的概念B.进程执行需要处置机
C.进程是有生命期的D.进程是指令的集合
答:
D
15.下面的叙述中正确的是。
A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也必然不同。
B.为了幸免发生进程死锁,各进程只能逐个申请资源。
C.操作系统用PCB治理进程,用户进程能够从此PCB中读出与本身运行状况有关的信息
D.进程同步是指某些进程之间在逻辑上的彼此制约关系
答:
D
16.进程操纵确实是对系统中的进程实施有效的治理,通过利用、进程撤销、进程阻塞、进程唤醒等进程操纵原语实现。
A.进程运行B.进程治理
C.进程创建D.进程同步
答:
C
17.操作系统通过对进程进行治理。
A.JCBB.PCBC.DCTD.CHCT
答:
B
18.用P、V操作能够解决互斥问题。
A.一切B.某些C.正确D.错误
答:
A
19.通常,用户进程被成立后,。
A.便一直存在于系统中,直到被操作人员撤消
B.随着作业运行正常或不正常终止而撤消
C.随着时刻片轮转而撤消与成立
D.随着进程的阻塞或唤醒而撤消与成立
答:
B
20.一个进程被唤醒意味着。
A.该进程从头占有了CPU B.它的优先权变成最大
C.其PCB移至等待队列队首D.进程变成绩绪状态
答:
D
21.下面所述步骤中,不是创建进程所必需的。
A.由调度程序为进程分派CPUB.成立一个进程操纵块
C.为进程分派内存D.将进程操纵块链入就绪队列
答:
A
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
答:
B
27.支持多道程序设计的操作系统在运行进程中,不断地选择新进程运行来实现CPU的共享,但其中不是引发操作系统选择新进程的直接缘故。
A.运行进程的时刻片用完B.运行进程犯错
C.运行进程要等待某—事件的发生D.有新进程进入就绪状态
答:
D
28.在多道程序设计系统中,多个计算问题同时装入运算机系统的主存储器。
A.并发执行B.顺序执行
C.并行执行D.同时执行
答:
A
29.引入多道程序设计技术后,处置器的利用率。
A.有所改善B.极大地提高
C.降低了D.无转变,仅使程序执行方便
答:
B
30.从整体上说,采纳多道程序设计技术可单位时刻的算题量,但对每一个算
题,从算题开始到全数完成所需的时刻比单道执行所需的时刻可能要。
A.增加,减少B.增加,延长
C.减少,延长D.减少,减少
答:
B
31.同一程序运行在不同的数据集上,创建了的进程。
A.同步B.互斥
C.相同D.不同
答:
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<0
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试问:
所采纳的互斥信号量初值是不是相同?
信号量的转变范围如何?
答:
(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终止后,S二、S3能够开始执行。
S二、S3完成后,S4才能开始执行。
为了确保这一执行顺序,设三个同步信号量b二、b3、b4别离表示进程S二、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);
…
v(b4);
}
s4()
{
p(b4);
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名顾客(购票者)
S<0 |S|的值为等待进入售票厅的人数
(2)依照所概念的信号量,把应执行的P、V操作填入下面横线上,以保证进程能够正确地并发执行。
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:
semaphore;{理发师睡觉,初值为1}
mutex:
semaphore;{初值为1}
用P、V操作实现如下:
顾客进程i:
P(Sn);{门外观望}
P(mutex);
进门;
V(mutex);
V(S);{if(sn==n-1)v(s);}
等候;
理发;
V(Sn)
P(mutex);
出门;
V(mutex);
理发师进程:
Repeat
P(S);
P(mutex);
叫人理发;
V(mutex);
理发;
Untilfalse;
7.试写出用加锁原语和开锁原语实现两个进程关于临界资源的操作的描述。
答:
Programtest
begin
s:
=0(表示该资源可用)
cobegin
(1)
A:
begin
┇
加锁原语;
临界区A;
开锁原语;
┇
end
B:
begin
┇
加锁原语;
临界区B;
开锁原语;
┇
end
conend
end
8.桌子上有一只盘子,每次只能放入一只水果。
爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个儿子专等吃盘中的桔子,一个女儿专等吃盘中的苹果。
请利用P、V操作实现他们之间的同步。
解:
在本题中,应设置三个信号量s、so、sa,信号量s表示盘子是不是为空,其初值为1;信号量so表示盘中是不是有桔子,其初值为0;信号量sa表示盘中是不是有苹果,其初值为0。
同步描述如下:
ints=1;
intsa=0;
intso=0;
main()
{
cobegin
father();
son();
daughter();
coend
}
father()
{
p(s);
将水果放入盘中;
if(放入的是桔子)v(so);
elsev(sa);
}
son()
{
p(so);
从盘中掏出桔子;
v(s);
吃桔子;
}
daughter()
{
p(sa);
从盘中掏出苹果;
v(s);
吃苹果;
}
9.桌子上有一只盘子,最多可容纳两个水果,每次只能放人或掏出一个水果。
爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子中的苹果。
请用Pv操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。
解:
盘子为互斥资源,因能够放两个水果,empty初值为2;再设信号量mutex初值为1,操纵对盘子的互斥访问;apple表示盘中苹果个数,表示盘中桔子个数,初值均为0。
parbegin
Father:
begin
L1:
p(empty);
P(mutex);
放苹果;
V(mutex);
V(apple);
GotoL1;
End;
Mother:
begin
L2:
P(empty);
P(mutex);
放桔子;
V(mutex);
V(orange);
GotoL2;
End;
Daughter:
begin
L3:
p(apple);
P(mutex);
取苹果;
V(mutex);
V(empty);
GotoL3;
End;
Son:
begin
L4:
P(orange);
P(mutex);
取桔子;
V(mutex);
V(empty);
GotoL4;
End;
Parend
10.现为某临界资源设一把锁w,当w=1时,表示关锁,w=0时,表示锁已打开,试写出开锁和