计算机操作系统(第三版)汤小丹第4章.doc
《计算机操作系统(第三版)汤小丹第4章.doc》由会员分享,可在线阅读,更多相关《计算机操作系统(第三版)汤小丹第4章.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统原理 教材重点习题答案 制作:信息工程学院 操作系统课程组注意:1)“本章要点”部分,用红字标注的不是期末考试出题范围。2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原题。红字标注的习题期末考试不考,仅供考研的同学参考。3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。-第四章 存储器管理 要点4.1 存储器的层次结构理解P116图4-1的存储器层次结构,知道这种结构从经济上考虑,具有好的性能/价格比。 了解P117-118高速缓
2、存CACHE和磁盘缓存,知道它们使用的淘汰算法与虚拟内存的页面置换算法是基本相同的。4.2 程序的装入和链接 这一小节的内容是一些重要的专业常识。应了解本小节介绍的各种装入和链接方法,要求结合Windows操作系统及C语言的实际去理解上述装入和链接方法(联系实际部分可上网查询)。 4.3 连续分配方式 通用操作系统大都不用连续分配方式,有些嵌入式OS可能使用这种分配方式。 这一小节只需阅读P121-124即可。4.4 基本分页存储管理方式 这是本章最重要的一小节,要求全读。重点理解页面、物理块、页表、页表的访存、物理地址、逻辑地址、快表(TLB)等概念及相互关系。4.5 基本分段存储管理方式
3、阅读4.5.1,知道为什么要分段。阅读4.5.2 知道分段的原理。考研的同学要知道段表、地址变换,知道分段和分页的主要区别。 阅读4.5.3 知道分段有利于信息共享,知道“纯代码”的概念。 阅读4.5.4 知道什么是段页式存储。 需要补充说明的是:教材说过,分段方便编程,主要是指方便汇编语言程序员,和设计高级语言编译器的程序员。对使用高级语言进行应用编程的程序员来说,段是透明的,一般不能用高级语言代码去操作段。 4.6 虚拟存储器的基本概念 这一小节重点是局部性原理。其它内容泛读即可。4.7 请求分页存储管理方式 掌握请求分页的页表、什么是缺页中断。其它内容泛读即可。 4.8 页面置换算法 熟
4、练LRU算法,知道该算法同样也适合于在本章介绍的CPU CACHE、快表、磁盘缓存的置换。其它内容泛读即可。 4.9 请求分段存储管理 考研的同学也可以不看。本章最后提示:实际的通用操作系统,一般使用请求分页(4.7小节)+基本分段(4.5小节)相结合的存储管理方式。请求分页是离散分配(节约内存)且有虚拟内存(扩展性好),基本分段是连续分配(有P136介绍的几个优点,教材认为基本分段也是离散分配似有不妥)。本章习题1 为什么要配备层次式存储器答:不同视角有不同答案。可以从经济上考虑,这种内外搭配、快慢结合的存储体系有利于实现最佳性能价格比。2. 可采用哪几种方式将程序装入内存?它们分别适用于何
5、种场合?答:【P118 4.2.1】对于高级语言程序,首先由编译程序将用户源代码编译成若干目标模块,再由链接程序将编译后形成的目标模块和所需的库函数链接在一起,组成一个装入模块。装入模块的文件格式是与操作系统有关的,比如Windows平台下C/C+生成的.exe文件,其格式只能被Windows操作系统解读。再由装入程序将装入模块装入内存。1)装入模块的方式有:绝对装入方式,可重定位方式和动态运行时装入方式;2)绝对装入方式主要适用于单道程序环境下;但在Windows下的.com程序也是绝对装入方式的,这与这些程序对硬件的访问、中断入口等有关。3)可重定位方式适用于多道程序环境下,比如Windo
6、ws下的.exe程序.4)动态运行时装入方式也适用于多道程序环境下,比如Windows下的.dll程序。 3. 何谓静态链接?何谓装入时动态链接和运行时的动态链接?答:【P120 4.2.2】a. 静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方-式;Windows下用C语言编写的.exe程序就是这种链接方式。b. 装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式;Windows下的.dll程序有些是这种链接方式。c. 运行时的动态链接是将某些目标模块的链接推迟到执行时才进行;Windows下的.dll程序有些是这种链接方式。附注:对于Windows下.exe
7、和.dll更多的知识,可以上网查询。4. 在进行程序链接时,应完成哪些工作?答:P118。主要是将多个源程序生成的多个目标模块、及它们需要的函数库链接起来。静态链接和动态链接的链接时间和方式有所不同,对该问题更深入的了解要学习“编译原理”这门课。5A. 在动态分区分配方式中,可利用哪些分区分配算法?答:P123-124a. 首次适应算法;b. 循环首次适应算法;c. 最佳适应算法. 5. 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?答:P123 图4.6。主要使用双向链表,双向链表的优点可参考“数据结构”。操作系统底层数据结构往往借助于链表,在课本上经常可见。 6. 为什么要引入
8、动态重定位?如何实现?答:P127-128。连续分配方式容易造成内存很多小分区(零头)无法使用,有必要进行“紧凑”,而这又会造成程序的物理地址改变,因此要进行动态重定位,即重新计算逻辑地址到物理地址的映射。实现方法是:为了不因重定位而影响效率,需要硬件支持,可在CPU中增加一个重定位寄存器,用它来存放程序在内存中的起始物理地址,程序在执行时,真正访问的内存地址是逻辑地址与重定位寄存器中的物理地址相加而形成的。7. 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?答:P125。该题考研的同学也可以不做。8 令buddyK(x)表示大小为2的k次方、地址为x的块的伙伴系统地址
9、,试写出buddyK(x)通用表达式?答:P126。考研的同学可以关注一下。Buddy System是一种经典的内存管理算法,在Unix和Linux操作系统中都有用到, 其作用是减少存储空间中的空洞, 减少碎片, 增加利用率。在有的“数据结构”课本中有算法介绍。 这道题我看不懂其题意,大概是分配内存时x要找的空闲块是: pow(2,k-1)=buddyK(x)=pow(2,k) / pow是乘方函数Buddy System是一种连续的内存管理方法,可以结合离散的分页分配方法使用,有利于为进程分配连续的物理块,以提高分页法的效率和程序的局部性。9 分区存储管理中常用那些管理策略?比较它们的优缺点
10、?答:P121-128。主要有1)静态分配(单一连续分配,固定分区分配),优点是简单易行,缺点是内存利用率高。2)动态分配(动态分区分配,伙伴堆),与静态分配相比,稍复杂,但能提高内存利用率。但上述两类(连续)内存存储管理策略的内存利用率都不够好,所以有了离散的分页存储。10. 在系统中引入对换后带有哪些好处?答:P129。能将内存中暂时不运行的进程或暂时不用的程序和数据,换到外存上,以腾出足够的内存空间,把已具备运行条件的进程或进程所需的程序和数据换入内存,从而大大地提高了内存的利用率。对换技术也是虚拟内存技术的前身。11 为实现对换,系统应具备哪几方面功能?答:P129。对换空间的管理;进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 第三 汤小丹第
限制150内