预览加载中,请您耐心等待几秒...
1/1

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

操作系统--精髓与设计原理(第⼋版)第⼋章复习题答案 8.操作系统--精髓与设计原理(第⼋版)第⼋章复习题答案 8.1简单分页与虚拟内存分页有何区别? 进程运⾏时,简单分页的所有页必须都在内存中,除⾮使⽤了覆盖技术,虚存分页并⾮所有页都须在内存页框中,仅在需要时才读⼊页,把 ⼀页读⼊内存可能需要把另⼀页写出到磁盘。 8.2什么是抖动? 当操作系统读取⼀块内存时,它必须把另⼀块换出。如果⼀块正好在将要⽤到之前换出,操作系统就不得不很快地把它取回。这类操作通 常会导致⼀种称为系统抖动(thrashing)的情况。这样会使处理器的⼤部分时间都⽤于交换块⽽⾮执⾏指令。 8.3为何在使⽤虚拟内存时,局部性原理⾄关重要? 局部性原理描述了⼀个进程中程序和数据引⽤的集簇倾向。因此,假设在很短的时间内仅需要进程的⼀部分块是合理的。同时,还可以对将 来可能会访问的块进⾏猜测,从⽽避免系统抖动。局部性原理表明虚拟内存⽅案是可⾏的。 8.4哪些元素是页表项中能找到的典型元素?简单定义每个元素。 页号:虚拟地址的页号部分。 进程标志符:使⽤该页的进程。页号和进程标志符共同标志-个特定进程的虚拟地址空间的⼀页。 控制位:该域包含⼀些标记,⽐如有效、访问和修改,以及保护和锁定信息。 链指针:若某项没有链项,则该域为空(或⽤⼀个单独的位来表⽰)。否则,该域包含链中下⼀项的索引值(0~2^m之间的-1数字)。 8.5转换检测缓冲区的⽬的是什么? 原则上,每次虚存访问都可能会引起两次物理内存访问:⼀次取相应的页表项,另⼀次取需要的数据。因此,简单的虚拟内存⽅案会导致内 存访问时间加倍。为克服这个问题,⼤多数虚拟内存⽅案都为页表项使⽤了⼀个特殊的⾼速缓存,通常称为转换检测缓冲区 (TranslationLookaside。Buffer,TLB) 8.6简单定义两种可供选择的页⾯读取策略。 请求分页,只有当访问到某页中的⼀个单元时才将该页取⼊内存。若内存管理的其他策略⽐较合适,将发⽣下述情况:当⼀个进程⾸次 启动时,会在⼀段时间出现⼤量的缺页中断:取⼊越来越多的页后,局部性原理表明⼤多数将来访问的页都是最近读取的页。因此,在 ⼀段时间后错误会逐渐减少,缺页中断的数量会降到很低。 预先分页,读取的页并不是缺页中断请求的页。预先分页利⽤了⼤多数辅存设备(如磁盘)的特性,这些设备有寻道时间和合理的延迟。 若⼀个进程的页连续存储在辅存中,则⼀次读取许多连续的页要⽐隔⼀段时间读取⼀页有效。当然,若⼤多数额外读取的页未引⽤ 到,则这个策略是低效的。 8.7驻留集管理和页⾯置换策略有何区别? 驻留集管理的概念为: (1)给每个活动进程分配多少页框。 (2)计划置换的页集是局限于那些缺页中断的进程,还是局限于所有页框都在内存中的进程。 置换策略的概念为:在计划置换的页集中,选择换出哪⼀页。 8.8FIFO和时钟页⾯置换算法有何联系? 最简单的时钟策略需要给每个页框关联⼀个称为使⽤位的附加位。FIFO和时钟页⾯置换算法都会扫描缓冲区,FIFO直接置换出最⽼的页, ⽽在时钟策略中会跳过使⽤位为1的页框。 8.9页缓冲实现什么功能? 为提升性能,不丢弃置换出的页,被置换出的页任然驻留在内存中。因此,若进程访问该页,则可迅速返回该进程的驻留集,且代价很⼩。 8.10为什么不能把全局置换策略和固定分配策略组合起来? 因为固定分配策略下,驻留集的⼤⼩是固定不变的,从内存中移出的⼀页必须由同⼀个进程的另⼀页置换。 8.11驻留集和⼯作集有何区别? 驻留集表⽰进程在内存中的页集,⼯作集表⽰进程在过去的⼀段时间中被访问到的页集。 8.12请求式清除和预约式清除有何区别? 请求式清除(demandcleaning),只有当⼀页被选择⽤于置换时才被写回辅存; 预约式清除(precleaning)策略则将这些已修改的多页在需要使⽤它们所占据的页框之前成批写回辅存。