操作系统第一章复习题二、填空题1、操作系统两个最基本的特征是(并发)和(共享),两者之间互为存在条件。2、实时系统应具有的两个基本特征,它们是(及时性)和(高可靠性)。3、允许多个用户以交互方式使用计算机的操作系统称为(分时操作系统);允许多个用户将多个作业提交给计算机集中处理的操作系统称为(批处理操作系统);计算机系统能及时处理过程控制数据并作出响应的操作系统称为(实时操作系统)。4、操作系统是计算机系统中的一个(系统软件),它管理和控制计算机系统中的(硬件和软件资源)。5、操作的四大功能是(处理机管理)、(存储器管理)、(设备管理)、(文件管理)。6、操作系统的基本特征是(并发性)、(共享性)、(虚拟性)、(异步性)。三、简答题1、设计现代操作系统的主要目标是什么?答;①有效性②方便性③可扩展性④开放性2、OS的作用表现在哪几个方面?答:①OS作为用户与计算机硬件系统之间的接口。②OS作为姐姐是系统资源的管理者。③OS实现了对计算机资源的抽象。3、OS有几大特征?其最基本的特征是什么?答:OS有四大基本特征:并发、共享、虚拟和异步;其中最基本的特征是并发和共享。4、试描述什么是微内核OS。答:关于微内核,现在尚无一致的定义,但一般具有一下特征:①足够小的内核②给予客户/服务器模式③应用”机制与策略分离原理”④采用面向对象技术操作系统第二章复习题三、填空题1、在操作系统中引入线程概念的主要目的是(缩短系统切换的时空开销,提高程序执行并发度)。2、引入了线程的操作系统中,资源分配的基本单位是(进程),CPU分配的基本单位是(线程)。3、进程的基本状态由执行、(就绪)、(阻塞)。4、进程的基本特征是(动态性)、(并发性)、(独立性)、(异步性)、(结构特征)。5、信号量的物理意义是当信号量值大于0时表示(系统当前可用资源数目);当信号量值小于0时,其绝对值为(因请求该资源而被阻塞的进程数目)。6、进程由(程序段)、(数据段)、(PCB)三部分组成。7、进程是一个程序对某个数据集的(一次执行过程)。8、若一个进程已进入临界区,其他欲进入临界区的进程必须(等待)。9、程序并发执行与顺序执行时相比产生了一些新特征,分别是(间断性)、(失去封闭性)、(不可再性)。10、采用用户级线程的系统中,处理器调度的对象是(进程);采用内核支持的线程系统中,处理器调度的对象是(线程)。11、高级通信方式分为三大类:(共享存储器系统)、(消息传递系统)、(管道通信系统)。12、在一个多道程序系统中,进程之间存在着不同关系可以划分为两大类:其中(同步)指进程间存在一定的逻辑关系,需要在执行次序上协调;(互斥)指进程间在使用共享资源方面的约束关系。解决上述两个问题的一种常用的方法是(信号量机制)。四、简答题1、在操作系统中为什么要引入进程概念?P37答:因为在多道程序环境下,程序的执行属于并发执行。可是与此同时,他们将失去其封闭性,并具有间断性及不可再现性的特征。这决定了通常的程序是不能参与并发执行。为了使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了进程的概念。2、试说明PCB的作用。P41答:OS调度进程的主要数据,依据记录进程的有关信息,供系统对进程进行控制,标志进程的存在3、试从调度性、并发性、拥有资源及系统开销4个方面对进程和线程进行比较。P73答:A.在引进线程的OS中,把线程作为独立跳读和分派的基本单位,而把进程作为资源拥有的基本单位。B.在引进线程的OS中,不仅进程间可并发执行,而且同一进程的多个线程亦可并发执行,因而使OS具有更好的并发性。C.进程始终是资源的一个独立单位,而线程自己不拥有系统资源,但是它可以访问其隶属进程的资源。D.在创建、撤销和切换进程方面,进程开销远大于线程。4、同步机构应遵循哪些基本准则?P50答:A.空闲让进B.忙着等待C.有限等待D.让权等待5、线程具有哪些属性?P73-74答:A.轻型实体B.独立调度和分派的基本单位C可并发执行D共享进程资源五、应用题1、生产者与消费者问题(理解性记忆)2、吃水果第二章进程同步。四、解答题1.某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(1)用P、V操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量各种取值的含义。(2)根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。COBEGINPROCESSPi(i=1,2,…)Begin;进入售票厅;购票;;退出;End;COEND(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。解:售票厅问题:(1)定义一信号量S,初始值为20。S0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客S0|S|的值为等待进入售票厅中的人数(2)上线为P(S)下线为V(S)(3)S的最大值为20,S的最小值为20-N,N为某一时刻需要进入售票厅的最大人数。2.进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)若干同学去图书馆借书;(2)两队举行篮球比赛;(3)流水线生产的各道工序;(4)商品生产和社会消费。解:进程间存在着2种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待所产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同资源所发生的制约关系。(1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学;(2)属于互斥关系,篮球只有一个,两队都要争夺;(3)属于同步关系,各道工序的开始都依赖前道工序的完成;(4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无须进行。3.设有两个优先级相同的进程P1和P2如下。信号量S1和S2的初值均为0,试问P1、P2并发执行结束后,x=?,y=?,z=?〈进程P1〉〈进程P2〉y:=1;x:=1;y:=y+2;x:=x+1;V(S1);P(S1);z:=y+1;x:=x+y;P(S2);V(S2);y:=z+y;z:=x+z;解:因为P1和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2=-1,进程P1阻塞。此时,y=3,z=4。当进程调度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,分成两种情况:(1)然后执行P2最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1的最后一个语句,此时y=12,最终结果是:x=5,y=12,z=9。(2)如果当P2进程执行到V(S2)时,将P1唤醒,然后P2进程被中断,此时x=5,y=3,z=4。P1进程开始执行然后执行最后一个语句y:=z+y,此时x=5,y=7,z=4。然后P2进程被调度,执行z:=x+z,此时x=5,y=7,z=9。如果P2先执行,则执行结果与上面相同。4.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。分析在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中的是苹果,则允许女儿吃,儿子必须等待;若放入果盘中的是桔子,则允许儿子吃,女儿必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。解在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:intS=1;盘子是为空intSa=0;盘中无苹果intSo=0;盘中无桔子main(){cobeginfather();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);吃苹果;}}操作系统第三章总复习题三、填空题1、在时间片轮转算法中,时间片的大小对系统性能有很大影响,如果时间片太大,并大到一定程度时,时间片轮转调度算法遍退化为(先来先服务)。2、进程的调度方式有两种,一种是(非抢占式),令一种是(抢占式)。3、死锁产生的4个必要条件是(互斥)、(不剥夺)、(请求和保持)、(环路等待)。4、银行家算法中,当一个进程提出的资源请求将导致系统从(安全状态)进入(不安全状态)时,系统就会拒绝它的资源请求。5、产生死锁的根本原因是(可共享资源不足),另一个基本原因是(进程的推进顺序不当)。6、在面向用户的调度准则中,(截止时间的保证)是实时调度算法的重要准则,(响应时间快)是分时系统中进程调度算法的重要准则,(平均周转时间短)是批处理系统中选择作业调度算法的重要准则。7、我们如果为每一作业只建立一个进程,则为了照顾短作业用户,应采用(短作业优先调度算法);为了照顾紧急作业的用户,应采用(基于优先权的可抢占式调度算法);为能实现人机交互作用应采用(时间片轮转法调度算法);为了兼顾短作业和长时等待的作业,应采用(高响应比优先调度算法);为了使短作业、长作业及交互作业用户都比较满意,应采用(多级反馈队列调度算法);为了使作业的平均周转时间最短,应采用(短作业优先调度算法)。四、简答题1、在选择调度方式和调度算法时,应遵循的原则时什么?P90-91答:A.在面向用户的调度准则中,截止时间的保证是实时调度算法的重要准则,响应时间快是分时系统中进程调度算法的重要准则,平均周转时间短是批处理系统中选择作业调度算法的重要准则。B.在面向用户的调度准则中,有以下几个准则:a.系统吞吐量提高b.处理机利用率好c.各类资源的平衡利用2、为什说多级反馈调度算法能较好地满足各方面用户的需要?P97答:A.终端型作业用户。由于终端型作业用户说提交的作业大多属于交互性作业,作业较小,系统只要能使这些作业在第一队列所规定的时间片内完成,便可以终端型作业用户感到满意。B.短批处理作业用户。对于很短的批处理型作业,开始时像终端型作业一样,如果仅在第一队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间。对于稍长的作业,通常也只需要在第二队列和第三队列各执行一个时间片即可完成,其周转时间仍然较短。C.长批处理作业用户。对于长作业,它将依次在第1,2,...,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。3、何谓死锁?产生死锁的原因和必要条件是什么?P103-105答:所谓死锁,是指多个进程在运行过程中因为争夺资源而造成的一种僵局,在这种僵局中,若没有外力作用,它们都将无法再往前推进。产生死锁的原因:A.竞争资源引起进程死锁B.进程推进顺序不当引起死锁产生死锁的必要条件:A.互斥条件B.请求和保持C.不剥夺条件D.环路等待条件4、高级调度与低级调度的主要任务是什么?为什么要引入中级调度?P84-86答:高级调度的主要任务是根据某种算法,把外存上那些处于后备队类中的那些作业调入内存,并为它们创建进程,分配必要的资源。低级调度的主要任务是决定就绪队列的进程中哪个获得处理机,然后再有分派程序执行把处理机分配给该进程的具体操作。引入中级调度是为了提高内存利用率和系统吞吐量。五、应用题1、有5个任务A,B,C,D,E,它们几乎同时先后达到,预计它们运行