操作系统--课堂问答笔记20--习题答案

课堂笔记学习视频来自 操作系统
说明:其他”课堂问答笔记“也在”操作系统“专栏

【4-7、4-8】

  1. 请区别对换区和文件区。
    答:具有对换功能的操作系统通常将外存分为文件区和对换区。
    文件区用于存放文件;对换区存放从内存中换出的进程,对换区的大小就是虚拟存储器扩充的内存大小,也就是用户感觉内存变大了的大小。
    对对换区的管理应与内存管理方式相同(即本章的内容),而对文件区的存储管理则适用设备管理(下一章中:“磁盘管理”的内容),文件区中的文件管理适用文件系统管理(下下章的内容)

  2. 缺页率高一定会导致抖动吗?相应地,发生了抖动则一定缺页率高吗?
    答:缺页率指的是访问页面失败次数除以进程页面访问总次数,设访问成功次次数为S,访问失败次数为F,访问总次数A=S+F,缺页率f=F/A;抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的工作,我们称这种现象为"抖动"。
    因此,缺页率高不一定会导致抖动(缺页率高表示缺页中断次数多,但不一定是某些页发生频繁的换进换出);但发生抖动肯定导致缺页率高(某些页发生频繁的换进换出,那么肯定缺页中断的次数多)

  3. 怎么理解最佳淘汰算法是理想的算法?
    答:OPTimal replacement(OPT)是一种理想化的算法,性能最好,但在实际上难于实现。即选择那些永不使用的,或者是在最长时间内不再被访问的页面置换出去。但是要确定哪一个页面是未来最长时间内不再被访问的,目前来说是很难估计的(也就是哪些页面是否不再访问或者未来很长时间内不再被访问是很难预测的),所以该算法通常用来评价其它算法(通过用最佳淘汰算法计算出来的缺页率与实际采用的置换算法计算得到的缺页率进行比较,从而评价实际采用的置换算法的优劣)。
    另外,统一一下思路(纠正一下视频中的计算缺页率的方法):
    操作系统--课堂问答笔记20--习题答案
    给定一个页面置换算法及页面访问顺序,画出其页面置换过程的图表以及计算缺页率是常见的考试题目。

  4. 简述改进版的CLOCK置换算法
    答:改进版的CLOCK算法增加了一个使用位(used bit)和一个修改位(modified bit),有些地方也叫做dirty bit。现在每一页有两个状态,分别是(使用位,修改位),可分为以下四种情况考虑:
    (0,0):最近没有使用也没有修改,最佳置换状态(就是最应该被换出的页面);
    (0,1):最近没有使用但修改过,将会被写;
    (1,0):最近使用过但没有被修改,下一轮将可能再次被用;
    (1,1):使用过也修改过,下一轮页面置换最后的选择。
    页面替换的顺序:
    从指针当前的位置开始寻找主存中满足(使用位,修改位)为(0,0)的页面(若有则换出,实际上是用新的换入的页面替换,因为该页面没有修改不必换回外存,外存有备份);如果第1步没有找到满足条件的,接着寻找状态为(0,1)页面(若有则换出,因有修改,所以要替换外存中原来的备份);如果依然没有找到,指针回到最初的位置,将所有页面的使用位设置成0。重复第1步,并且如果有必要,重复第2步,这样一定可以找到将要替换的页面。
    (例子后附)

  5. 说明请求段式存储管理系统段表各字段的作用。
    答:见下图:
    操作系统--课堂问答笔记20--习题答案
    在请求段式存储管理方式下:
    前面3项与基本段式存储管理方式相同,之后段表项的意义:
    存取方式表示该段是否允许只执行/只读/读写(用来确定该段是否需要共享保护);
    访问位表示该段最近是否被访问过(记录该段的访问频繁程度),修改位表示该段是否被修改了(这两项用来在页面置换时参考,是否可以换出);
    存在位表示该段是否已调入内存(供程序访问时参考,不在内存则要缺段中断并调入该段);
    增补位表示该段是否动态增长过;
    外存始址表示其在外存中的存储地址(即起始的物理块号,调入内存时参考)。