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

下载本文档

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

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐操作系统课后题答案2.1一类操作系统服务提供对用户很实用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。

另一类操作系统函数不是协助用户而是确保系统本身高效运行,包括资源分配、统计、庇护和平安等。

这两类服务的区分在于服务的对象不同,一类是针对用户,另一类是针对系统本身。

2.6优点:采纳同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。还利于设备驱动程序代码,可以支持规范定义的API。

缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,因为设备和文件读写速度不同,若是同一接口的话可能会处理不过来。

2.9策略打算做什么,机制打算如何做。他们两个的区别对于灵便性来说很重要。策略可能会随时光或位置而有所转变。在最坏的状况下,每次策略转变都可能需要底层机制的转变。系统更需要通用机制,这样策略的转变只需要重定义一些系统参数,而不需要转变机制,提高了系统灵便性。

3.1、短期调度:从预备执行的进程中挑选进程,并为之分配CPU;

中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采纳了交换的计划。

长久调度:从缓冲池中挑选进程,并装入内存以预备执行。

它们的主要区分是它们执行的频率。短期调度必需频繁地为CPU挑选新进程,而长久调度程序执行地并不频繁,惟独当进程离开系统后,才可能需要调度长久调度程序。

3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。

4.1、对于挨次结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。

4.4、在多线程程序中各线程分享堆内存和全局变量,而寄存值和栈内存是每个线程所独有的。

4.7、C行输出:CHILD:value=5;

P行输出:PARENT:value=0

5.4、SJF调度算法和Priority调度算法会导致饥饿。

5.10、FCFS:最先到达的进程最先完成,若某个进步程先到达,则之后的任一短进程都会有较长的等待时光。

RR:将就绪队列作为循环队列,CPU调度程序循环就绪队列,为每个进程分配不超过一个时光片的时光,所以只要短进程可以先完成,它们可以很快的离开系统。多级反馈队列调度算法:并不会特意的区别短进程并优先挑选它,对待短进程上和RR调度算法相像。

6.1、(1)互斥条件通过flag和turn变量的使用实现。假如两个进程将flag

设为真,那么惟独轮到的那个进程会胜利举行。惟独当一个进程更新turn值时,等待的那个进程才干进入它的临界区域。

(2)前进也是通过flag和turn实现的。假如一个进程想要进入它们的临界区域,它可以将它的flag设为真,然后进入临界区域。当退出它的临界区域,将turn设置为转向其他进程的值。假如这个进程想要在其他进程之前再次进入临界区域,它会不断重复进入临界区域,在退出时将turn置为转向另一个进程的过程。

(3)有限等待通过turn的使用来实现。假设两个进程想要进入临界区域,它们都将flag的值设为真,而惟独轮到的那个线程可以执行,其他的线程处于等待状态。假如有限等待没有实现,那么当第一个进程重复“进入-退出”临界区域这一过程时,其他进程则必需无限等待下去。Dekker算法要求一个进程将turn设置为转向另一个进程的值,从而保证另一个进程接下来进入临界区域。

6.4、自旋锁不适合在单处理器系统是由于从自旋锁中打破一个进程的条件惟独在执行一个不同的进程时才干获得。假如这个进程没有闲置处理器,其他进程不

能够得到这个机会去设定第一个进程发展需要的程序条件。在一个多处理器系统中,其他进程在其他处理器上执行,从而可以修改程序状态使得第一个进程从自旋锁中释放。

6.5、假如一个用户级程序具有停止中断的能力,那么它能够停止计时器中断,防止上下文切换的发生,从而允许它使用处理器而不让其他进程执行。

6.6、由于停止中断仅仅能够防止其他进程在一个中断不能实现的处理器上执行,而在其他处理器上能执行什么进程是没有限制的,所以进程停止中断并不能保证互斥进入程序状态,即中断在多处理器系统中是不够的。

6.16、当执行管程的signal操作时,假如没有等待线程,那么系统会忽视signal操作,认为signal操作没有发生过。假如随后执行wait操作,那么相关的线程就会被堵塞。然而在信号量中,即使没有等待线程,每个signal操作都会导致相应的信号量值的增强,那么接下来的wait操作就会由于之前的信号量值的增强而马上胜利举行.

7.1a、死锁的四个须要条件:互斥;占有并等待;非抢占;循环等待。

互斥的条件是惟独一辆车占领道路上的一个空间位置。占有并等待表示一辆车占领道路上的位置并且等待前进。一辆车不能从道路上当前的位置移动开(就是非抢占)。最后就是循环等待,由于每个车正等待着随后的汽车向前进展。循环等待的条件也很简单从图形中观看到。

b、一个容易的办法是,汽车不得进入一个十字路口,这样就不会产生相交。

7.5a、增强可用资源:这个在任何状况下都是平安的;

b、削减可用资源:这可能会影响到系统,并导致可能性死锁由于系统的平安性假定其拥有一定数量的可用资源;

c、增强一个进程的Max(进程需要更多的资源,超过所允许赋予的资源):这可能会影响到系统,并可能导致死锁;

d、削减一个进程的Max(进程不再需要那么多资源):这个在任何状况下都是平安的;

e、增强进程的数量:假如允许分配资源给新进程,那么该系统并没有进入一个担心全的状态;

f、削减进程的数量:这个在任何状况下都是平安的。

7.8、当一个哲学家发出一个需要第一根筷子的哀求时,假如没有别的哲学家有两根筷子或者只留有一根筷子时,这个哀求就不被允许。

7.11、a、.Need矩阵的内容是P0(0000)P1(0750)P2(1002)

P3(0020)P4(0640)

b、系统处于平安状态,由于Available矩阵等于(1520),进程P0和P3都可以运行,当进程P3运行完时,它释放它的资源,而允许其它进程运行。

c、可以被满足,满足以后,Available矩阵等于(1100),当以次序P0,P2,P3,P1,P4运行时候,可以完成运行。

8.5、延续内存分配会产生外部碎片,由于地址空间是被延续分配的,当旧进程结束,新进程初始化的时候,碎片会扩大。延续内存分配也不允许进程分享代码,由于一个进程的虚拟内存段是不被允许闯入不延续的段的。

纯段式分配也会产生外部碎片,由于在物理内存中,一个进程的段是被延续放置的,以及当死进程的段被新进程的段所替代时,碎片也将会产生。然而,段式分配可以使进程分享代码;比如,两个不同的进程可以分享一个代码段,但是有不同的数据段。

纯页式分配不会产生外部碎片,但会产生内部碎片。进程可以采纳页式分配,假如一页没有被彻低利用,它就会产生内部碎片并且会产生一个相当的空间铺张。页式分配也允许进程分享代码。

8.6、规律地址在页式分配系统上包括规律页号和偏移量。在规律页号的基础上产生一个物理页号,物理页号通过页表被找到。由于操作系统控制这张表的内容,所以操作系统只允许进程拜访那些分配到该进程的物理页。一个进程想要拜访一个它所不拥有的页是不行能的,由于这一页在页表中不存在。为了允许这样的进入,操作系统只需要容易的允许非本进程内存的条目被加到该进程的页表中。当两个或多个进程需要交换数据时,这是非常实用的。在进程内通信时,这是非常

高效的。

8.9、a.400ms:200ms进入页表查询页框号,200ms进入内存中找到所需的数据

b.有效进入时光为0.75*200+0.25*400=250ms

8.10、段式存储与页式存储常常结合在一起以提高它们每一个存储方式的性能。当页变的非常大时,分段的页式存储是非常实用的。一大段延续的未用页表可折叠成一个以页表地址0为入口的单一段表。分页的段式存储适用于段十分大需要很长时光来举行分配的时候。通过把段分页,我们降低了因为外部碎片而造成的内存铺张,而且也简化了分配。

9.2答:对于每一个内存拜访操作,页表需要检查相应的页表条目存在与否,程序对该拜访页面有读权限还是写权限,这些核对都需要硬件实现。一个TLB可以作为高速缓存提高查询操作的效率。

9.10答:该系统明显花费了许多时光举行分页,显示过度分配的内存,假如多级程序水平降低,页面错误将变少,CPU利用率也会提高。另一种提高利用率的方式是获得更多的物理内存或更快的分页磁盘。

ABC都不可,D可以

E.可能提高CPU利用率,由于更多页面能存放在内存中,而不需要从磁盘哀求页面。

F.另一个改进,由于磁盘的瓶颈被更快的响应和更大的磁盘吞吐量所删除,CPU将会更快的获得更多的数据

G.CPU将会更快的获得更多的数据,所以更多地被使用。假如分页听从预调(即一些拜访挨次)这只是一个方面。

H.假如数据被挨次拜访,那么增强页面大小将导致缺页率降低。假如数据拜访是随机的,就需要更多的页面操作,由于较少页面可保存在内存上,在每次缺页时,更多的数据被转移,所以这种变化既可以削减CPU利用率也可以增强CPU利用率。

9.15答:分配的页数少于进程所需的最小页数时发生颤动,并迫使它不断地页错误。系统可通过对照多道程序的水平和CPU利用率的程度,以此来检测颤动。

降低多道程序的水平可以消退颤动。

9.16答:可以,事实上,许多处理器由于这个缘由提供两个TLB。举个例子,一个进程拜访的代码可长时光地保留同样的工作集合。然而,代码拜访的数据可能转变,这样为工作集合的数据拜访产生了一个转变。

10.1答:令旧的文件为F1,新文件为F2。用户希翼通过存在的链接进入F1,实

际上将进入F2。注重,使用的是文件F1的拜访庇护,而不是F2的。

这个问题可以通过确保全部被删除文件的链接也被删除来避开。可从几个方面完成:

a.保存一份文件全部链接的列表,删除文件时,删除每一个链接

b.保留链接,当试图拜访一个已删除文件时删除他们

c.保存一个文件引用清单(或计数器),惟独在文件全部链接或引用被删除后,

删除该文件

10.3答:在许多状况下,单独的程序可能情愿容忍同时拜访一个文件,而不需

要获得锁,从而确保文件的互相排斥。其他程序结构也可以确保互相排斥,如内存锁,或其他同步的形式。在这种状况下,强制锁将限制拜访文件的灵便性,也可能增强与拜访文件相关的开销。

10.11答:UNIX的全都性语义需要更新文件立刻提供应其他进程。支持这种语

义的分享文件远程文件系统可能会导致以下的低效率:一个用户产生的全部更新,必需立刻上报文件服务器,而不是批处理(假如更新到一个暂时文件将会被忽视),而且更新必需立即通过文件服务器跟高速缓存数据的客户举行沟通,造成更多的联系。

11.2答:它的优势是,在拜访块是储存在文件中间的时候,在FAT里跟踪指针就可以打算它的位置,而不是挨次的拜访全部个别区块中的文件来找到指针指向的目标块。

通常状况下,大多数的FAT可缓存在存储器里,因此,指针可以通过拜访内存确定,而不用通过磁盘块。

11.5答:因为延迟更新数据和元数据是可能浮现的最主要的困难。在希翼同样的数据可能被更新时候,更新可能会推迟,或更新的数据可能是暂时性的,而且在不久后可能会被删除。但是,假如在还没有提交延迟的更新的时候,系统崩溃,则文件系统的全都都将被破坏。

11.8答:在用户(或系统)确切地知道将需要什么样的数据状况下。缓存是以算法为基础的,而RAM磁盘是用户导向。

12.1答:a.对现在磁头所在磁道的新要求,理论几乎可以同时用于实践。

b.全部那些比预定的年龄更老的要求可能是“被迫”处于队列的顶端,并且每个哀求的有关位都可能被设置为表明没有任何新的要求可提前到这些哀求的前面。对于SSTF,其余的队列将不得不按照这些“旧”的要求的最后重新组织排序。

c.为了防止超长的响应时光。

d.1、调页和置换应优先于用户的要求。

2、对于其他内核启动的I/O,如文件系统元数据的写入,优先于用户I/O也是可取的。

3、假如内核支持实时进程的优先次序,这些进程的I/O哀求也应当是优先的。

12.2答a.FCFS的调度是143,86,1470,913,1774,948,1509,1022,1750,130。总寻求距离是7081。

b.SSTF的调度是143,130,86,913,948,1022,1470,1509,1750,1774。总寻求距离是1745。

c.SCAN的调度是143,913,948,1022,1470,1509,1750,1774,4999,130,86。总寻求距离是9769。

d.LOOK的调度是143,913,948,1022,1470,1509,1750,1774,130,86。总寻求距离是3319。

e.C-SCAN的调度是143,913,948,1022

温馨提示

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

评论

0/150

提交评论