第三章进程的同步与通信一、填空1.并发执行的进程可以共享系统的资源,但对共享的临界资源必须做到互斥的访问。2.系统中的资源应不允许用户进程直接使用,而应由系统统一分配。3.把每个进程中访问临界资源的那段代码称为临界区。4.要实现对临界资源的互斥访问,只须使诸进程互斥的进入自己的临界区。5.在使用整型信号量中,可能会使进程处于忙等的现象。6.在记录型信号量中,当S.value0数值时,表示某类可用资源的数量。而当S.value0时,表示该类资源已分配完。若有进程请求该类资源,则被阻塞,这时,S.value的绝对值等于等待该类资源的进程数。7.在and型信号量中,采取原子操作的方式,其资源分配的原则是要么全部分配给进程,要么一个也不分配。以避免死锁情况的发生。8.进程通信可分为高级通信(进程间传送的信息量大)和低级通信(进程间传送的信息量小)。9.使并发执行的诸进程之间能有效的共享资源和相互合作,从而使程序的执行具有可再现性。10.同步机制应遵循的准则:1、空闲让进2、忙则等待3、有限等待4、让权等待11.整型信号量除用于进程对临街资源的互斥访问外,还可以用来描述进程之间的前驱关系。一、判断题1.进程进入不安全区域,则一定产生死锁。X2.信号量除了能使进程并行执行时互斥的对临界资源访问外,还可以用来描述进程之间的前序关系。V3.低级通信传送的数据量较大,高级通信传送的数据量小。X二、选择题1.在信号量机制中所使用的p、v操作属于a)一般过程b)一般函数c)原子操作d)和普通程序一样2.以下那种信号量的使用可能会使进程处于“忙等”a)整型信号量b)记录型信号量c)and型信号量d)一般信号量集3.在记录型信号量中,执行v(s)后,当S.value值小于等于0时,表明a)有进程被阻塞,需要唤醒。b)没有进程被阻塞c)有S.value个进程在阻塞队列中d)有|S.value|个进程在阻塞队列中4.下面使用信号量的代码中,将signal(mutex);criticalsectionwait(mutex)a)导致多个进程同时进入临界区b)导致多个进程都不能进入临界区c)保证了对临界资源的互斥访问d)导致进程死锁5.下面说法错误的是a)信号量是可以用来实现进程的同步的。b)信号量机制可以用来实现进程执行的次序的。c)整型信号量可能会使处理机出现忙等的现象。d)管程是用户进程,它来统一管理进程的同步。6.信号量机制中的pv操作是通过_____来实现的。a)原语b)指令c)过程调用d)通信机三.简答题1.什么是临界资源和临界区?临界资源:在一段时间内只允许一个进程访问的资源。临界资源的访问要求互斥的访问。把每个进程中访问临界资源的那段代码称为临界区2.我们为某临界区设一把锁,当w=1时,表示关锁;当w=0时,表示锁已打开。写出开锁原语和关锁原语,并用其实现互斥(写出框架)。关锁原语p(w)whilew=1dono_opw:=w+1开锁原语V(s)w:=0其实现互斥框架p(w)临界区V(s)3.完善下面生产者和消费者问题解法中的程序;Producer描述Beginrepeat…produceraniteminnextp…wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1)modn;signal(mutex);signal(full);untilfalse;endConsumer描述Beginrepeatwait(full);wait(mutex);nextc:=Buffer(out);out:=(out+1)modn;signal(mutex);signal(empty);consumetheiteminnextc;untilfalse;end第四章调度与死锁一、名词解释1.周转时间:作业i从提交时刻Tsi到完成时刻Tei称为作业的周转时间。2.高级调度:按一定原则对外存后备队列中的作业进行调度,并建立进程PCB。3.中级调度:将暂时不能运行的进程调至外存上等待,以释放宝贵的内存空间,从而决定允许哪些进程竞争处理机。4.低级调度:它决定了存在就绪进程时,哪一个就绪进程将分配到中央处理机,并且把中央处理机实际分配(由Dispatcher分派程序完成)给这个进程,即低级调度是将处理机分配给进程。5.带权周转时间Wi:作业的周转时间与系统为它提供服务的时间之比Wi=Ti/Tsi6.响应时间:指从用户提交一个请求开始到系统首次产生响应为止的时间。7.死锁Deadlock:是计算机系统中多道程序并发执行时,两个或两个以上的进程由于竞争资源而造成的一种互相等待的现象(僵局),如无外力作用,这些进程将永远不能再向前推进。8.安全状态:指系统能按照某种顺序,为每个进程分配所需的资源,直至最大需求,使得每个进程都能顺利完成。.二.判断题1.死锁的检测与解除在系统中必须配套出现。V2.进程进入到不安全区将一定产生死锁。x3.产生死锁的根本原因是各进程对系统资源的竞争。v三、填空1.按调度的层次分,进程(作业)的调度可分为:高级调度、中级调度和低级调度。按OS的类型分,进程(作业)的调度可分为:批处理调度、分时调度、实时调度和多处理机调度。2调度的实质是资源的分配。3.调度算法采用时间片轮转法时,如果时间片太大,将退变为FCFS调度算法,反之则会加大系统的开销,降低系统的性能。4.产生死锁的原因:竞争资源和进程推进的顺序序不当。5.处理死锁的基本方法:预防死锁、避免死锁、检测死锁、解除死锁。6.产生死锁的必要条件有:互斥条件、不剥夺条件、部分分配:(请求和保持条件)、环路等待条件7.死锁的预防就是要破坏除互斥条件以外的其他三个必要条件。三、选择题1.处理机的调度程序a)常住内存b)常住辅存c)在主存和辅存间切换d)和普通程序一样2.下面那种调度算法对长作业不利a)FCFSb)SJFc)高响应比的优先权调度算法d)多级队列调度算法3.调度算法采用时间片轮转法时,如果时间片太大,将退变为a)FCFSb)SJFc)高响应比的优先权调度算法d)多级队列调度算法4.在同构型多处理机系统中的进程调度中a)静态分配需设有相应的同步机制。b)动态分配需设有相应的同步机制。c)自调度需设有相应的同步机制。d)都不需要设有相应的同步机制。5.在操作系统中,死锁出现是指_____a)计算机系统发生重大故障b)资源数目远远少于进程数c)若干进程因竞争资源而无限等待其他进程释放已占有的资源d)进程同时申请的资源数超过资源总数6.在死锁处理中,银行家算法是一种______算法。a)死锁避免b)死锁防止c)死锁检测d)死锁预防三.简答题1.高级调度和低级调度的任务是什么?高级调度:按一定原则对外存后备队列中的作业进行调度,并建立进程PCB。低级调度:它决定了存在就绪进程时,哪一个就绪进程将分配到中央处理机,并且把中央处理机实际分配(由Dispatcher分派程序完成)给这个进程,即低级调度是将处理机分配给进程。2.何为死锁?产生死锁的原因和必要条件是什么?是计算机系统中多道程序并发执行时,两个或两个以上的进程由于竞争资源而造成的一种互相等待的现象(僵局),如无外力作用,这些进程将永远不能再向前推进。产生死锁的原因:1)、竞争资源。当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁;2)、进程推进的顺序序不当。进程在运行过程中,请求和释放资源的顺序不当,导致进程的死锁。产生死锁必要条件是:⑴互斥条件:进程访问的是临界资源,那个资源一次只能被一个进程所使用。⑵不剥夺条件:一个资源仅能被占有它的进程所释放,而不能被其他进程剥夺。⑶部分分配:(请求和保持条件)一个进程在请求新的资源的同时,保持对某些资源的占有。⑷环路等待条件:存在一个进程的环路链,链中每一个进程占用有着某个或某些资源,又在等待链中的另一个进程占有的资源。3.死锁检测与解除必须配套使用,当死锁4.在银行家算法的例子中,如果p0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),问系统是否可将资源分配给它。为什么?