操作系统大题答案.doc_第1页
操作系统大题答案.doc_第2页
操作系统大题答案.doc_第3页
操作系统大题答案.doc_第4页
操作系统大题答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统原理复习题一1、 试对分时系统和实时系统进行比较。可以从多路性、独立性、及时性、交互性和可靠性5个方面对分时系统和实时系统进行比较。 (1)多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。(2)独立性。都有独立性。每个终端用户在向实时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的(4)交互性。实时信息处理系统具有交互性,而分时系统能向终端用户提供数据处理服务、资源共享等服务。(5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。2、有一个仓库,可以存放A和B两种产品,但要求:(1)、每次只能存放一种产品(A或B);(2)、-N A产品数量- B产品数量 M。其中,N和M是正整数。试用P、V操作描述产品A与产品B的入库过程。解:在本题中,我们可以设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许sa个A产品人库;sb表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许sb个B产品入库。初始时,sa为M-1,sb为N-1。当往库中存放入一个A产品时,则允许存入B产品的数量也增加1:当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。产品A、B的入库过程描述如下: mutex=1; /* 互斥信号量 */ sa=M-1; sb=N-1;Process_A() while(1) 取一个产品; p(sa); p(mutex); A产品入库; v(mutex); v(sb);Process_B()while(1) p(sb); p(mutex); B产品入库; v(mutex); v(sa); 3、有一页式系统,其页表存放在内存中。(1)、如果对内存的一次存取需要1.5微秒,问实现一次页面访问的存取时间是多少?(2)、如果系统增加有快表,平均命中率为85%,当页表项在快表中时,其查找时间忽略为0,问此时的存取时间为多少?答:a.在分页存储管理中,当访问一条指令或数据时需要访问内存至少两次。一次是访问存放在内存中的页表PMT,实现地址变换; 另一次是访问所需的数据,3微妙。b.若快表的命中率是85%,则有效存取时间为:0.851.5+(1-0.85)3=1.725s4、 在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页率。5、 I/O控制可用哪几种方式实现?各有何优缺点?IO控制过程可用三种方式实现:作为请求IO操作的进程实现;作为当前进程的一部分 实现;由专门的系统进程IO进程完成。第一种方式请求对应IO操作的进程能很快占据处理机但要求系统和IO操作的进程应具有良好的实时性。第二种方式不要求系统具有高的实时性,但IO控制过程要由当前进程负责。第三种方式增加了一个额外的进程开销,但用户不用关心IO控制过程。7、使用文件系统时,通常要显式地进行OPEN和CLOSE进行操作。试问(1)这样做的目的是什么?答:显式的OPEN操作完成文件的打开功能。它将待访问文件的目录信息读入内存活动文件表中,建立起用户进程与文件的联系。显式的CLOSE操作完成文件的关闭操作。该命令撤消主存中有关文件的目录信息,切断用户与该文件的联系;或在文件打开期间,该文件作过某种修改,还应将其写顺回辅存。(2)若取消显式的OPEN,CLOSE操作,应如何做?答:可以取消显式的OPEN与CLOSE操作。如果取消了显式OPEN与CLOSE操作,系统在进行文件操作之前需判断文件是否已打开,则应自动完成文件的打开功能,以建立用户与文件间的联系。同时,在系统结束时,还应自动关闭所有打开文件。(3)取消显示的OPEN,CLOES有什么不利?答:取消显式的OPEN与CLOSE操作得文件的读写的系统开销增加。因为在每次读写前都需要判断文件是否已被打开。系统在结束时也要做一些额外的工作,以完成CLOSE命令的功能。当用户进程已使用完一个文件但尚未执行完成时,因无显式的CLOSE命令也无法关闭文件,从而不利于系统资源的回收。四、证明题1、 考虑由n个进程共享的具有m个同类资源的系统,证明:如果对i=1,2,n,有0 Need(i) m而且所有进程最大需求量之和小于m+n,那么该系统是死锁无关的。 证明:令每个进程请求共享资源的最大量相等,且为x,(0xm),那么在最坏的情况下每个进程都占有(x-1)个共享资源,并各自最多再申请一个资源就可以运行完毕,进而释放它们所占有的全部资源。此刻,系统剩余的可用资源数为:m - n*(x-1)。当m n*(x-1)1时,即x (m+n-1)/n时,系统不会出现死锁的。因此得出,系统中所有进程的最大需求量之和nx (m+n-1) 时,系统是不会发生死锁的。所以,n个进程的最大需求量之和小于m+n时,系统与死锁无关。2、 若系统中有作业1、2、3几乎同时到达,已知它们的运行时间依次为a、b、c,且满足关系式ab 0 可见,采用短作业优先算法调度才能获得最小平均作业周转时间。操作系统原理复习题二三、综合题1、什么是操作系统?它有什么基本特征? 答:操作系统(Operating System,简称OS)是一个管理计算机系统资源,控制程序运行的系统软件,它为用户提供了一个方便、安全、可靠的工作环境和界面。它有4个基本特征。 并发性:指两个或多个事件在同一时间间隔内发生; 共享性:指系统中的资源可供内存中多个并发执行的进程共同使用; 虚拟性:指通过某种技术把一个物理实体变成若干个逻辑上的对应物; 异步性:即不确定性。在多道程序设计中,各个程序之间存在着直接或间接的联系,程序的推进速度受它的运行环境的影响。这时同一程序和数据的多次运行可能得到不同的结果;程序的运行时间、运行顺序也具有不确定性;外部输入的请求、运行故障发生的时间难以预测。这些都是不确定性的表现。2、进程与线程的主要区别是什么? 答:进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.exe程序,就启动了一个独立的Java虚拟机进程,该进程的任务是解析并执行Java程序代码。线程是指进程中的一个执行流程,有时也称为执行情景。一个进程可以由多个线程组成,即在一个进程中可以同时运行多个不同的线程,它们分别执行不同的任务。当进程内的多个线程同时运行时,这种运行方式称为并发运行。许多服务器程序,如数据库服务器和Web服务器,都支持并发运行,这些服务器能同时响应来自不同客户的请求。进程和线程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可以共享同一块内存和系统资源,比如共享一个对象或者共享已经打开的一个文件。3、用P、V操作实现下述问题的解。桌上有一个盘子,可以存放一个水果。父亲总是放苹果到盘子中,而母亲总是放香蕉到盘子中;一个儿子专等吃盘子中的香蕉,而一个女儿专等吃盘中的苹果。定义信号量:dish:表明盘子中是否为空,初值为1;Apple:表明盘子中是否有苹果,初值为0;Orange:表明盘子中是否有桔子,初值为0;main ()cobegin father (); mother (); son ();daughter (); coendfather () P(dish);放苹果V(apple);mother() P(dish); 放香蕉 V(orange);son () P(orange); 取香蕉 V(dish);daughter() P(apple); 取苹果 V(dish);4、设公共汽车上,司机和售票员的活动分别是:司机的活动:启动车辆;正常行车;到站停车。售票员的活动:关车门;售票;开车门。在汽车不断地到站、停站、行驶过程中,这两个活动有什么同步关系?用信号量和P、V操作实现它们的同步。第一步:确定进程间的关系。售票员关车门后,要向司机发开车信号,司机接到开车信号后才能启动车辆。在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门,让乘客上下车。因此司机启动车辆的动作必须与售票员的动作取得同步;售票员开车门的动作也必须同司机停车取得同步。第二步:确定信号量及其值。由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断是否关车门,司机能否启动车辆,初值为1。售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0 第三步: 确定P(wait)、V(signal)操作的位置司机操作中,是否关门?没关则等待,这是一个P操作,P(run);司机操作中,设立停车标志,这是一个V操作,V(stop);售票员操作中,是否停车?没停则等待,这是一个P操作,P(stop);售票员操作中,设立关门标志,这是一个V 操作,V(run) lstop ,run:semaphore run:=1; /是否关车门 stop:=0; /是否停车 Driver:begin cobegin driver: begin L1: P(run); 启动车辆; 正常行车; 到站停车; V(stop); goto L1; end;Conductor:begin L2:上乘客; 关车门; V(run); 售票; P(stop); 开车门; 下乘客; goto L2; end; coend; end;5、 某寺庙,有小、老和尚若干,有一水缸,有小和尚提水入缸供老和尚饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为3个。每次入、取缸水仅为1桶,且不可同时进行。试给出取水、入水的算法描述。 设置5个信号量:互斥信号量mutex1,用于实现对水井的互斥使用,其初值为1;互斥信号量mutex2,用于实现对水缸的互斥使用,其初值为1;信号量empty,用于记录水缸中还可以装入水的桶数,其初值为10;信号量full,用于记录水缸中已装入水的桶数,其初值为0;信号量count,用于记录可用水桶数目,其初值为3。 Semaphore mutex1=1; Semaphore mutex2=1; Semaphore empty=10; Semaphore full=0; Semaphore count=3; Main( ) cobegin Get(); Use();CoendGet( ) while(ture) p(empty); P(count); P(mutex1); 从井中取水; V(mutex1); P(mutex2); 将水倒入水缸; V(mutex2); V(count); V(full); Use( ) while (ture) P(full); P(count); P(mutex2); 从缸中取水; V(mutex2); V(empty); V(count); 6、 按序分配是防止死锁的一种策略。什么是按序分配?为什么按序分配可以防止死锁? 答:按序分配是把系统中所有资源排一个顺序,每一个资源给一个确定的编号,规定任何一个进答:程申请两个以上资源时,总是先申请编号小的资源,再申请编号大的资源。按序分配可以防止死锁,证明如下:假设存在一组循环等待的进程记为(P0,P1,Pn),其中Pi拥有资源ri,编号为F(ri);根据按序分配原则,有F(r0)F(r1)F(rn),因存在循环等待,所以Pn申请的下一个资源就为P0所占的rn,若Pn能正常运行,必须依据资源顺序分配原则,即下次申请资源标号应比其所占有的资源标号大,于是有F(rn)F(r0),这与前面的不等式有矛盾,故不能存在。7、 假设有一台计算机,它有1M内存,操作系统占用200K,每个用户进程也占用200K。用户进程等待I/O的时间为80%,若增加1M内存,则CPU的利用率将提高多少? 解:1M内存的情况:1)支持用户进程数:(1024K-200K)/200K=4.12 所以4个用户进程。 2)CPU利用率: 先求CPU空闲(4个用户均处于等待I/O状态)概率P=(80%)4,然后再求CPU利用率1-P =1-(80%)4 = 1-0.84=59%。增加1M内存的情况:1)支持用户进程数:(2*1024K-200K)/200K=9.24 所以9个用户进程。 2)CPU利用率: 先求CPU空闲(9个用户均处于等待I/O状态)概率P(80%)9,然后再求CPU利用率1-P 1-P =1-(80%)9 = 1 -0.89=87%。增加1M内存,CPU的利用率将提高:87% / 59%= 147% 147% - 100%=47%所以若增加1M内存,则CPU的利用率将提高47%。8、 有5个待运行作业为A,B,C,D,E,它们几乎同时到达,各自的估计运行时间分别为9,6,3,5,x。试问采用哪种运行次序使得平均周转时间最短? 答:由于短作业优先算法会使系统平均响应时间最短,所以:当0x9时,应该采用的运算顺序为: 3,5,6,9,x。9、 试述缺页中断与一般中断的主要区别。 答:在计算机系统中,由于某些事件的出现,打断了当前程序的运行,而使CPU去处理出现的事件,这称为“中断”。通常,计算机的硬件结构都是在执行完一条指令后,去检查有无中断事件发生的。如果有,那么就暂停当前程序的运行,而让CPU去执行操作系统的中断处理程序,这叫“中断响应”。CPU在处理完中断后,如果不需要对CPU重新进行分配,那么就返回被中断进程的程序继续运行;如果需要进行CPU的重新分配,那么操作系统就会去调度新进程由上面的讲述可以看出,缺页中断与一般中断的区别如下。(1)两种中断产生的时刻不同:缺页中断是在执行一条指令中间时产生的中断,并立即转去处理;而一般中断则是在一条指令执行完毕后,当硬件中断装置发现有中断请求时才去响应和处理。2)处理完毕后的归属不同:缺页中断处理完后,仍返回到原指令去重新执行,因为那条指令并未执行;而一般中断则是或返回到被中断进程的下一条指令去执行,因为上一条指令已经执行完了,或重新调度,去执行别的进程程序。10、有一请求分页存储管理系统,页面大小为每页100字节。有一个5050的整型数组按行连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:int a5050;int i,j;for (i=0;i=49;i+) for (j=0;j=49;j+) aij =0;若在程序执行时内存中只有一个存储块用来存放数组信息,试问该程序执行时产生多少次缺页中断? 解:由题目可知,该数组中有2500个整数,每个整数占用2个字节,共需存储空间5000个字节;而页面大小为每页100字节,数组占用空间50页。假设数据从该作业的第m页开始存放,则数组分布在第m页到第m+49页中,它在主存中的排列顺序为:a00,a01,a049 第m页a10,a11,a149 第m+1页 a490,a491,a4949 第m+49页由于该初始化程序是按行进行的,因此每次缺页中断调进一页后,位于该页内的数组元素全部赋予0值,然后再调入下一页,所以涉及的页面走向为m,m+1,m+49,故缺页次数为50次。操作系统原理复习题三3、 问答题1、 简述三种基本类型操作系统的优缺点。 答:批处理系统。操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。 分时系统。不同用户通过各自的终端以交互方式共用一台计算机,计算机以“分时”的方法来轮流为每个用户服务。分时系统的主特点是:多个用户同时使用计算机的同时性,人机问答的交互性,每个用户独立使用计算机的独占性,以及系统响应的及时性。 实时系统。实时监控控制对象并能作出及时反应。实时系统的特点为:可靠性高、响应及时但资源利用率低。2、为什么进程在进入临界区之前应先执行“进入区”代码?而在退出前又要执行“退出区”代码?答:为了实现多个进程对临界资源的互斥访问,必须在临界区之前加一段用于检查临界资源是否正在被访问的代码,如未被访问,该进程可进入临界区对此临界资源进行访问;如正被访问,则该进程不能进入临界区访问临界资源。在退出临界区后,执行恢复访问标志的代码为“退出区”,而在退出前执行“退出区”代码主要是为了使其它进程能再访问此临界资源3、在批处理系统、分时系统和实时系统中,分别常用哪种调度算法?3. 在批处理系统、分时系统和实时系统中,分别常用哪种调度算法? 答:批处理系统的调度算法:短作业优先、优先权、高响应比优先、多级反馈队列调度算法。分时系统的调度算法:时间片轮转法。实时系统的调度算法:最早截止时间优先即EDF、最低松弛度优先即LLF算法。6、何谓系统的“抖动”现象?当系统发生“抖

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论