操作系统概念第七版习题答案(中文版)完整版 联系客服

发布时间 : 星期四 文章操作系统概念第七版习题答案(中文版)完整版更新完毕开始阅读9b5451d36f1aff00bed51e4b

个页时,就可以查找计数器值最小的页帧 Answer:

a.定义一个页面置换算法解决问题:

Ⅰ.计数器初始值——0;

Ⅱ.计数器值增加——每当新的一页与此帧相关联;

Ⅲ.计数器值减少——每当与此帧相关联的一个页不再需要;

Ⅳ.怎样选择要被置换的页——找到带有最小计数器值的帧。使用先进

先出算法解除其关系 b.14个页错误 c.11个页错误

9.14 假设一个请求调页系统具有一个平均访问和传输时间为20ms的分页磁盘。地址转换是通过在主存中的页表来进行的,每次内存访问时间为1μs。这样,每个通过页表进行的内存引用都要访问内存两次。为了提高性能,加入一个相关内存,当页表项在相关内存中时,可以减少内存引用的访问次数。

假设80%的访问发生在相关内存中,而且剩下中的10%(总量的2%)会导致页错误。内存的有效访问时间是多少? Answer:

有效访问时间= (0.8) × (1 μsec)+ (0.1) × (2 μsec) + (0.1) × (5002 μsec)

= 501.2 μsec = 0.5 millisec

9.15 颠簸的原因是什么?系统怎样检测颠簸?一旦系统检测到颠簸,系统怎样做来消除这个问题? Answer:

分配的页数少于进程所需的最小页数时发生颠簸,并迫使它不断地页错误。该系统可通过对比多道程序的程度来估计CPU利用率的程度,以此来检测颠簸。降低多道程序的程度可以消除颠簸。

9.16 一个进程可能有两个工作集合吗,一个代表数据,另一个代表代码?请解释。 Answer:

是的,事实上,许多处理器因为这个原因提供两个TLB。举个例子,一个进程访问的代码可长时间地保留同样的工作集合。然而,代码访问的数据可能改变,这样为工作集合的数据访问映射了一个改变。

9.17 假设使用参数Δ定义工作集合模型下的工作集合窗口。设置Δ为一个较小值,其表示页错误频率和系统中当前正在执行的活动页(非暂停的)进程数量,则影响如何?当设置Δ为一个非常大的值呢? Answer:

当设置Δ为一个较小的值,那么有可能低估一个进程的驻留页集合,允许安排一个进程,即使其所需的所有页未驻留。这可能导致大量的页错误。当设置Δ为较大的值,那么将高估一个进程的驻留集合,这可能阻止许多进程被安排,尽管他们需要的页驻留。然而,一旦一个进程被安排,高估驻留集合后就不可能

产生页错误

9.18 假设有一个初始值为1024 kB的段,使用伙伴(Buddy system)系统分配其内存。以图9.27为指导,画出树来说明下列内存请求是如何分配的:

? 请求240字节 ? 请求120字节 ? 请求60字节 ? 请求130字节

下一步,为下列内存释放修改树。只要有可能便执行接合:

? 释放250字节 ? 释放60字节 ? 释放120字节 Answer:

伙伴(Buddy system)系统进行了下列分配:为240字节的请求分配一个256字节段。为120字节的请求分配一个128字节段,为60字节的请求分配一个64字节段,为130字节的请求分配一个256字节段。分配后,下列大小的段是可用的:64 bytes,256 bytes,1K, 2K, 4K, 8K, 16K, 32K, 64K, 128K, 256K, 和 512K。内存释放后,仅剩包含130字节数据的256字节段在使用。下列段将是空闲的:256 bytes, 512 bytes, 1K, 2K, 4K, 8K, 16K, 32K, 64K, 128K, 256K, 和 512K。

9.19 slab分配算法为每个不同的对象类型使用一个单独的缓存。假设每一个对象类型都有一个缓存,试解释,为什么这不与多个CPU较好地协调。怎么做才能解决这个可扩展性问题? Answer:

这一直是slab分配存在的一个问题——多CPU存在时的较差可扩展性。这个问题产生于必须锁定正被访问的全局缓存。这影响多处理器系统的序列缓存访问。Solaris操作系统凭借引进一个单CPU缓存,而非一个单一的全局缓存解决了这个问题

9.20假设一个为其进程分配不同大小页的系统。这种页面调度方法有何优点?虚拟内存系统提供此功能时进行了哪些修正? Answer:

程序可能有大量的代码段或使用大型的数组作为数据。这部分程序可被分配于较大的页,从而减少与页表相关的内存开销。考虑到不同的内存大小,虚拟内存系统就必须保持多个不同大小的空闲页链表,为了地址翻译也需要有复杂的代码。

10.1 假设有一个文件系统,它里面的文件被删除后,当连接到该文件的链接依然存在时,文件的磁盘空间会再度被利用。如果一个新的文件被创建在同一个存储区域或具有同样的绝对路径名,这会产生什么问题?如何才能避免这些问题?

Answer:

令旧的文件为F1,新文件为F2。用户希望通过存在的链接进入F1,实际上将进入F2。注意,使用的是文件F1的访问保护,而不是F2的。这个问题可以通过确保所有被删除文件的链接也被删除来避免。可以从几个方面来完成: a. 保存一份文件所有链接的列表,删除文件时,删除每一个链接 b. 保留链接,当试图访问一个已删除文件时删除他们 c. 保存一个文件引用清单(或计数器),只有在文件所有链接或引用被删除后,删除该文件

10.2 打开文件表被用以保持当前打开文件的信息,操作系统应该为每个用户保持一个单独的表吗?或者只是保持一个包含当前所有用户访问文件的引用的表?如果两个不同程序或用户访问同样的文件,在打开文件表中应包含单独的条目吗? Answer:

保持一个中央的打开文件表,操作系统可以执行下列操作,否则不可执行:假设一个当前有一个或一个以上进程访问的文件。如果该文件被删除,那么应该直到所有正在访问文件的进程关闭它时,它才能从磁盘上删除。只要有正在访问文件的进程数目的集中核算,该检查就可以执行。另一方面,如果两个进程正在访问该文件,则需要保持两个单独的状态来跟踪当前位置,其中部分文件正被两个进程访问。这就要求操作系统为两个进程保持单独的条目。

10.3 一个提供强制锁,而非使用由用户决定的咨询锁的进程有何优点和缺点? Answer:

在许多情况下,单独的程序可能愿意容忍同时访问一个文件,而不需要获得锁,从而确保文件的相互排斥。其他程序结构也可以确保相互排斥,如内存锁;或其他同步的形式。在这种情况下,强制锁将限制访问文件的灵活性,也可能增加与访问文件相关的开销。

10.4 在文件的属性中记录下创建程序的名字,其优点和缺点是什么?(在Macintosh操作系统中就是这样做的) Answer:

记录下创建程序的名字,操作系统能够实现基于此信息的功能(如文件被访问时的程序自动调用)。但它会增加操作系统的开销,需要文件描述符的空间。

10.5 有些系统当文件第一次被引用时会自动打开文件,当作业结束时关闭文件。论述这种方案与传统的由用户显式地打开和关闭文件的方案相比有什么有点和缺点? Answer:

文件的自动打开和关闭免除了用户对这些功能的调用,从而使它更方便用户;但它比显式打开和关闭需要更多的开销

10.6 如果操作系统知道某一应用将以顺序方式访问文件数据,将如何利用此信息来提高性能? Answer:

当访问一个块时,文件系统可以预取随后的块,预计未来对于这些块的要求,这种预取优化将减少未来进程将经历的等待时间。

这个预取的优化将会为未来的要求减少等候所经历的时间。(10.6最后一句翻译)

10.7举一个应用程序的例子,它能够受益于操作系统支持的随机存取,以建立索引的档案。 答:一个应用程序,它维持的一个数据库的条目可以受益于这种一种支持:举个列子, 如果某程序是维护一个学生数据库,则访问的数据库不能被任何预先确定的访问模式模拟,这种获得记录是随机的,而且该记录的定位,如果作业系统是提供某种形式的树为基础的指数,将会更有效。

10.8讨论支持联系档案,两岸装入点的优点和缺点(即链接文件指的是文件在不同体积存储) 。

答:其优点是,有更大的透明度,也就是说,用户并不需要知道装入点和建立联系的所有情景。但缺点是文件系统包含的链接可能会展开而安装的文件系统包含目标文件可能不会,因此,在这种情况下不能提供透明的访问该文件,错误的条件会使该用户的联系是一条走不通的链接,而且链接确实跨越了文件系统的界限。

10.9 有些系统文件提供文件共享时候只保留文件的一个拷贝,而另外的一个系统则是保留多个拷贝,对共享文件的每一个用户提供一个拷贝,论述这种方法的相对优点。

答:在一个单一的复制,同时更新了一个文件可能会导致用户获得不正确的信息,文件被留在了不正确的状态. 随着多份拷贝,它会浪费存储而且各种副本可能不一致。

10.10讨论交往远程文件系统(存储在文件服务器)从一套不同的失败语义相关的本地文件系统的优点和缺点。

答:其优点是,如果在获得的文件存储在一个远程文件系统认识到它发生了一个错误,应用程序可以在处理故障状况时候提供一个更加智能化的方式,,而举例来说,一个文件打开文件可能简单的就失败了,而不是简单地挂在访问远程文件的一个失败的服务器和应用程序可以尽可能以最好的方式处理失败; 如果运行只是外挂起,那么整个应用程序应该外挂起,这是不可取的。然而,由于在失败语义缺乏统一以致由此导致应用程序代码更复杂。

10.11什么是影响一致支持共享访问这些存储在远程文件系统的文件的UNIX语义的含义? 答:UNIX的一致性语义需要更新文件立即提供给其他进程。支持这种语义的共享文件远程文件系统可能会导致以下的低效率: 所有更新的客户,必须立即上报文件服务器,而不是批处理(如果更新到一个临时文件将会被忽略,), 而且更新的都必须送交到文件服务器向客户的数据进行高速缓存,使得立即构造成更多的联系。

11.1试想一个文件系统,采用改进的连续分配计划的支持程度. 其档案收集的每个程度相当于毗连的区块。一个关键的问题是在这样的系统存在一定的变异的大小程度。如下计划有哪些优点和缺点?

a. 所有程度都是同样的尺寸,大小是预先确定的。