计算机操作系统课后题第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。主要表现在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。11、OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性、异步性。最基本的特征是并发性和共享性!14、是什么原因使操作系统具有异步性的特征?在多道程序环境下,允许多个进程并发执行。但由于资源等因素的限制,进程的执行通常并非一气呵成,而是以走走停停的方式运行。内存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成,都是不可预知的。故而作业完成的先后次序与进入内存的次序并不完全一致,即进程是以异步方式运行的。但在有关进程控制及同步机制等的支持下,只要运行环境相同,作业经多次运行,都会获得完全相同的结果,因而异步方式是允许的。因此,操作系统便具有了异步性特征。15处理机有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。进程同步:为多个进程(含线程)的运行进行协调。通信:用来实现在相互合作的进程之间的信息交换。处理机调度:(1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。20.试描述什么是微内核OS。答:1)足够小的内核2)基于客户/服务器模式3)应用机制与策略分离原理4)采用面向对象技术。22.微内核操作系统具有哪些优点?它为何能有这些优点?答:1)提高了系统的可扩展性2)增强了系统的可靠性3)可移植性4)提供了对分布式系统的支持5)融入了面向对象技术第二章1.什么是前趋图?为什么要引入前趋图?答:前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG,用于描述进程之间执行的前后关系。4.程序并发执行时为什么会失去封闭性和可再现性?答:程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变,致使程序运行失去了封闭性,也会导致其失去可再现性。5.在操作系统中为什么要引入进程概念?它会产生什么样的影响?答:为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。影响:使程序的并发执行得以实行。6.试从动态性,并发性和独立性上比较进程和程序?答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。(2)并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。(3)独立性是指,进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。对于未建立任何进程的程序,不能作为独立单位参加运行。11、试说明引起进程在三种状态的转换原因答:(1)就绪状态→执行状态:进程分配到CPU资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成18.试说明引起进程阻塞或被唤醒的主要事件是什么?答:a.请求系统服务;b.启动某种操作;c.新数据尚未到达;d.无新工作可做.20、试说明线程具有哪些属性?答:(1)轻型实体(2)独立调度和分派的基本单位(3)可并发执行(4)共享进程资源第三章1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?答:高级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存。低级调度是保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。使那些暂时不能运行的进程不再占用内存资源,将它们调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。2、处理机调度算法的共同目标是什么?批处理系统的调度目标是什么?10.试比较FCFS和SPF两种进程调度算法。答:相同点:两种调度算法都可以用于作业调度和进程调度。不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。该算法有利于长作业/进程,不利于短作业/进程。SPF算法每次调度都从后备队列中选择一个或若干个估计运行时间最短的作业,调入内存中运行。该算法有利于短作业/进程,不利于长作业/进程。11.在时间片轮转法中,应如何确定时间片的大小?答:时间片应略大于一次典型的交互需要的时间。一般应考虑三个因素:系统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。23、何为优先级倒置现象,可采取什么办法来解决?低优先级进程由于先占用了高优先级进程所需的临界资源,而阻塞高优先级进程,这样就会出现“优先级倒置”现象。如果阻塞时间延长,实时进程可能会错过其实时规定的期限,有较大的危害。解决的办法:(1)当进程进入临界区后,CPU就不能被剥夺;(2)优先级继承:当优先级高的进程A被阻塞在资源X的临界区外时,已分配到资源X、优先级低的进程B自动继承A的高优先级,能尽早运行完毕,释放资源X,使得A尽快有机会运行。27.何谓死锁?产生死锁的原因和必要条件是什么?答:死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。产生死锁的原因为竞争资源和进程间推进顺序非法。其必要条件是:互斥条件、请求和保持条件、不剥夺条件、环路等待条件29.请详细说明可通过哪些途径预防死锁。答:(1)摈弃“请求和保持”条件,就是如果系统有足够资源,便一次性把进程需要的所有资源分配给它;(2)摈弃“不剥夺”条件,就是已经拥有资源的进程,当它提出新资源请求而不能立即满足时,必须释放它已保持的所有资源,待以后需要时再重新申请;(3)摈弃“环路等待”条件,就是将所有资源按类型排序标号,所有进程对资源的请求必须严格按序号递增的次序提出第四章7.为什么要引入动态重定位?如何实现?答:在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位;具体实现方法是在系统中增加一个重定位寄存器,用来装入程序在内存中的起始地址,程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加之和,从而实现动态重定位。8、什么是基于顺序搜索的动态分区分配算法?他可以包含哪几种?答:为了实现动态分区式分配,将系统中的空闲分区组织成空闲分区表或空闲分区链。所谓顺序搜索,是指按表或链的组织顺序,检索表或链上记录的空闲分区,去寻找一个最符合算法的、大小能满足要求的分区。分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。18、什么是页面?物理块?页面的大小应如何确定?答:页面,物理块——分页存储管理方式中的单元。页面:分页存储管理将进程的逻辑地址空间分成若干个页,并为各页加以编号。物理块:相应的,也将内存的物理空间分成若干个物理块,同样为它们加以编号。页面大小:即不能太大也不能太小,要起到减少内存碎片空间的作用,也不能使页表过长,总之要选择适中,且页面大小应该是2的幂,通常为1kb~8kb。19、什么是页表?页表的作用是什么?答:页表是分页式存储管理使用的数据结构。一个进程分为多少页,它的页表就有多少行。每一行记录进程的一页和它存放的物理块的页号、块号对应关系。页表用于进行地址变换。26.分段和分页存储管理有何区别?答:(1)页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外部零头,提高内存利用率。段则是信息的逻辑单位,它含有一组相对完整的信息。(2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机械硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对原程序进行编译时,根据信息的性质来划分。(3)分页的作业地址空间是一维的,而分段作业地址空间则是二维的。第五章9.何谓固定分配局部置换和可变非配全局置换的内存非配策略?(1)固定分配局部置换:为每个进程分配一组固定数目的物理块,在进程运行期间不再改变;如果在进程运行的过程中发生缺页,则只能从分配给该进程的n个页面中选出一页换出,然后调入新的一页。(2)可变分配全局置换:先为每个进程分配一定数目的物理块,在进程运行期间块数目可以适当增加或减少;如果在进程运行的过程中发生缺页,则从OS所保留的空闲物理块中取出一块,分配给该进程,或者在所有进程的全部物理块中,按算法选出应换出的页面,将其换出,空出一块来,调入新的一页。12.在请求分页系统中,常采用哪几种页面置换算法?答:A.最佳置换算法;B.先进先出算法;C.最近最久未使用LRU置换算法;D.Clock置换算法;E.此外,还有最少使用置换算法和页面缓冲算法.15.试说明改进型clock置换算法的基本原理。答:基本原理:再将一个页面换出时,如果该页面已经被修改过,便须将该页重新写回到磁盘上;但如果该页未被修改过,则不必将它写回磁盘上。在改进的算法中,处需考虑页面的使用情况外,还需再增加一个因素,即置换代价,这样,选择页面换出时,既要是未使用过的页面,又要是未被修改的页面。16.影响页面换进换出效率的若干因素是什么?答:⑴页面臵换算法:影响页面换进换出效率最重要的因素,直接影响进程在运行过程中的缺页率,影响页面换进换出的开销。⑵写回磁盘的频率:如果是采取每个页面换出时,就将它写回磁盘的策略,这意味着每换出一个页面,便需要启动一次磁盘。但如果在系统中建立了一个已修改换出页面链表,对每一个要被换出的页面(已修改),系统可暂不把它们写回磁盘,而是将它们挂在已修改换出页面链表上,仅当被换出页面数目达到一定值时,再将它们一起写回到磁盘上,这样就显著地减少了磁盘I/O的操作次数。或者说,减少已修改页面换出的开销。⑶读入内存的频率:在设臵了已修改换出页面链表后,在该链表上就暂时有一批装有数据的页面,如果需要再次访问这些页面时,就不需从外存上调入,而直接从已修改换出页面链表中获取,这样也可以减少将页面从磁盘读入内存的频率,减少页面换进的开销。或者说,只需花费很小的开销,便可使这些页面,又回到该进程的驻留集中。18、在请求分页系统中,产生“抖动”的原因是什么?答:在请求分页式存储管理中,页在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统性能急剧下降。这种现象称为颠簸或抖