您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第二章_进程管理习题修改
一、选择题1.在进程管理中,当C时,进程从阻塞状态变为就绪状态。A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是B。A.就绪状态B.执行状态C.阻塞状态D.撤消状态3.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是D。A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中4.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是B。A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中5.下列的进程状态变化中,C变化是不可能发生的。A.运行就绪B.就绪运行C.等待运行D.等待就绪6.一个运行的进程用完了分配给它的时间片后,它的状态变为A。A.就绪B.等待C.运行D.由用户自己确定7.操作系统通过B对进程进行管理。A.JCBB.PCBC.DCTD.CHCT8.一个进程被唤醒意味着D。A.该进程重新占有了CPUB.它的优先权变为最大C.其PCB移至等待队列队首D.进程变为就绪状态9.多道程序环境下,操作系统分配资源以C为基本单位。A.程序B.指令C.进程D.作业10.从下面的叙述中选出一条正确的叙述:(1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB中读出与本身运行状态相关的信息。(3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。(4)当进程申请CPU得不到满足时,它将处于阻塞状态。(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。11.从下面的叙述中选出4条正确的叙述:(1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。(2)进程被挂起(suspend)后,状态变为阻塞状态。(3)信号量的初值不能为负数。(4)线程是CPU调度的基本单位,但不是资源分配的基本单位。(5)在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。(6)管程每次只允许一个进程进入。(7)wait、signal操作可以解决一切互斥问题。(8)程序的顺序执行具有不可再现性。二、是非题1.进程是动态的概念2.进程执行需要处理机3.进程是有生命期的4.进程是指令的集合5.操作系统的一重要概念是进程,因此不同进程所执行的代码也一定不同7.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关的信息8.进程同步是指某些进程之间在逻辑上的相互制约关系9.在一个只有单个CPU的计算机中,进程不能并行操作。一个进程在利用CPU运行,另一个进程可以同时进行I/O操作,它们是并行的。10.线程可以分为内核级(KernelThread)和用户级(UserThread)两种,操作系统不可以直接调度用户级的线程。三、填空题1.信号量的物理意义是当信号量值大于零时表示可用资源的数目;当信号量值小于零时,其绝对值为因请求该资源而被阻塞的进程数目。2.临界资源的概念是一次仅允许一个进程访问的资源,而临界区是指进程中访问临界资源的那段程序代码。3.进程在运行过程中有三种基本状态,它们是就绪、执行、阻塞。4.进程主要由程序段、数据段、PCB三部分内容组成,其中PCB是进程存在的唯一标志。而程序段部分也可以为其他进程共享。5.系统中各进程之间逻辑上的相互制约关系称为进程同步。6.若一个进程已进入临界区,其他欲进入临界区的进程必须等待。7.将进程的PCB链接在一起就形成了进程队列。8.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用P操作,退出临界区时应调用V操作。9.在多道程序系统中,进程之间存在着的不同制约关系可以划分为两类:互斥与同步。互斥指进程间具有的一定逻辑关系;同步是指进程间在使用共享资源方面的约束关系。10.程序顺序执行时有顺序性、封闭性和可再现性的特点。11.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1至-(m-1)。12.在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有4个,最少有0个。13、在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有封闭性性和可再现性性特征。14、并发进程之间的相互制约,是由于它们的共享资源和相互合作而产生的,因而导致程序在并发执行时具有间断性或异步性特征。15、程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性。16、引入进程的目的是使程序能正确地并发执行,以提高资源利用率和系统吞吐量,而引入线程的目的是减少并发执行的开销,提高程序执行的并发程度。17、进程由程序段、数据段和PCB组成,其中PCB是进程存在的唯一标志。18、进程最基本的特征是动态性和并发性,除此之外,它还有独立特征、异步性和结构特征。19、由于进程的实质是程序的一次执行,故进程有动态性的基本特征,该特征还表现在进程由创建而产生,由调度而执行,由撤销而消亡,即进程具有一定的生命期。20、引入进程带来的好处是提高资源利用率和增加系统吞吐量。21、当前正在执行的进程由于时间片用完而暂停执行时,该进程应转变为就绪状态;若因发生某种事件而不能继续执行时,应转为阻塞状态;若应终端用户的请求而暂停执行时,它应转为静止就绪状态。22、用户为阻止进程继续运行,应利用挂起原语,若进程正在执行,应转为静止就绪状态;以后,若用户要恢复其运行,应利用激活原语,此时进程应转为活动就绪状态。23、系统中共有5个用户进程,且当前CPU在用户态下执行,则最多可有4个用户进程处于就绪状态,最多可有4个用户进程处于阻塞状态;若当前在核心态下执行,则最多可有5个用户进程处于就绪状态,最多可有5个用户进程处于阻塞状态。24、同步机制应遵循的准则:空闲让进、忙则等待、有限等待和让权等待。25、在记录型信号量机制中,S.value0时的值表示可用的临界资源数量;每次wait操作意味着申请一个临界资源,因此应将S.value减1,当S.value0时,进程应阻塞。四、解析题1.进程的定义是什么?它最少有哪几种状态?【解】进程是一个具有一定功能的程序关于某个数据集合的一次运行活动。一个进程最少有就绪、执行和阻塞三种状态。就绪状态是指进程已获得了除处理机以外的所有资源,一旦获得处理机就可以立即执行。执行状态是指进程获得必要的资源并正在处理机上执行。阻塞状态是指进程由于发生某事件而暂时无法执行下去,此时即使把处理机分配给该进程,它也无法运行。2.进程与线程的主要区别是什么?[解]1线程是进程的一个组成部分2进程的多线程都在进程地址空间活动3资源是分给进程的4处理机的调度基本单位是线程5线程的执行需要同步3.什么是进程的互斥与同步?同步和互斥这两个概念有什么联系和区别?解:(1)同步:两个事件的发生有着某种时序上的关系,进程间的同步关系是指系统中往往有几个进程共同完成一个任务;(2)互斥是进程间的另外一种关系。由于各进程要共享资源。而有些资源往往要求排他性地使用;(3)互斥是一种特殊的同步关系。4.桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。解:设置3个信号量S、SO、SA信号量S表示盘子是否为空,其初值为1;信号量SO表示盘中是否有桔子,其初值为0;信号量SA表示盘中是否有苹果,其初值为0。同步描述:intS=1;intSA=0;intSO=0;main(){father();son();daughter();}father(){while(1){p(S);//盘子是否空将水果放入盘中;if(放入的是桔子)v(SO);//变形elsev(SA)//很少有学生如此做!而这却是本题的关键}}son(){while(1){p(SO);//盘子中有无桔子从盘中取出桔子;v(S);吃桔子;}}daughter(){while(1){p(SA);//盘子中有无苹果从盘中取出苹果;v(S);吃苹果;}}5.请用信号量实现对某数据库的读者-写者互斥。要求:(1)读者与写者之间互斥,写者与写者之间互斥。(2)读者之间不互斥。解:本题是读者-写者问题。在本题中,允许读进程同时读数据库,但写进程正在写数据库时不允许其他进程读该数据库,也不允许其他进程写该数据库。为了解决读、写进程之间的同步,应该设置2个信号量和一个共享变量:读互斥信号量rmutex,用于使读进程互斥地访问共享变量count,其初值为1;写互斥信号量wmutex,用于实现写进程与读进程的互斥及写进程与写进程的互斥,其初值为1;共享变量count,用于记录当前正在读数据库的读进程数目,初值为0。其工作过程描述如下:Semaphorermutex=1;Semaphorewmutex=1;Intcount=0;Main(){CobeginReader();Writer();Coend}Reader(){While(true){P(rmutex);If(count==0)p(wmutex);Count++;V(rmutex);读数据库;P(rmutex);Count--;If(count==0)v(wmutex);V(rmutex);}}Writer(){While(true){P(wmutex);写数据库;V(wmutex);}}注意:正确理解信号量rmutex的意义是理解读者-写者问题的关键。Rmutex是一个互斥信号量,用于使读进程互斥地访问共享变量count。信号量rmutex并不表示读进程的数目,表示读进程数目的是共享变量count。当一个读进程要读数据库时,应将读进程计数count增加1;如果此前(count加1以前)数据库中无读进程,还应对写互斥信号量wmutex做p操作,这样,若数据库中无写进程则通过p操作阻止后续写进程写,若数据库中有写进程,则通过p操作让读进程等待。同理,当一个读进程完成读数据库操作时,应将读进程计数count减少1;如果此时(count减1以后)数据库中已无读进程,还应对写互斥信号量wmutex做v操作,以允许写进程写。6.就绪队列中有10个进程,系统将时间片设为200ms,CPU进行进程切换要花费10ms,试问系统开销所占的比率约为多少?解:因就绪队列中有10个进程,它们以时间片轮转的方式使用CPU,时间片长度为200ms。当一个时间片用完时,调度进程将当前运行进程设置为就绪状态并放入就绪队列尾,再从就绪队列首选择进程投入运行,这一过程(进程切换)要花费时间10ms。因此系统开销所占比率为:10/(200+10)=4.8%7、在OS中引起进程调度的主要因素有哪些?【解】在OS中引起进程调度的主要因素有:(1)缺乏资源。正在运行的进程因为某个条件不能满足,不得不进入阻塞状态,此时,运行进程被撤下,引起调度使另一个进程进入运行(2)时间片到。如果是分时系统或者以时间片作为激励调度的系统,时间片是引起硬件激励的主要因素,每当时间片到,正在运行的进程被暂时停止,将它再次排入就绪队列,引起调度使另一就绪进程进入运行。(3)外部中断。外部中断信号也将引起调度,如打印机打印完成,通过打印通道或者信号线路传送一激励信号,将原等待进程唤醒重新进入运行,或引起调度使另一进程运行。(4)进程结束。进程正常执行完毕,退出并终止,此时将激励系统调度另一进程进入运行。8.假设有4道作业,它们的提交时间及执行时间已给出。作业号提交时刻(时)执行时间(小时)110:002210:201310:400.5410:500.3采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。
本文标题:第二章_进程管理习题修改
链接地址:https://www.777doc.com/doc-2125799 .html