操作系统原理最全课后答案汤小丹(4)

2019-03-27 20:46

第四章

1.为什么要配置层次式存储器?

答:设置多个存储器可以使存储器两端的硬件能并行工作;采用多级存储系统,特别是

Cache 技术,是减轻存储器带宽对系统性能影响的最佳结构方案;在微处理机内部设置各

种缓冲存储器,减轻对存储器存取的压力。增加CPU中寄存器数量大大缓解对存储器压力。

2.可采用哪几种方式将程序装入内存?它们分别适用于何种场合? 答:(1)绝对装入方式,只适用于单道程序环境。 (2)可重定位装入方式,适用于多道程序环境。

(3)动态运行时装入方式,用于多道程序环境;不允许程序运行时在内存中移位置。

3. 何谓静态链接?静态链接时需要解决两个什么问题?

答:静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装入模块,以后不再拆开的链接方式。

将几个目标链接装配成一个装入模块时,需解决以下两个问题:

1、将相对地址进行修改。即将除第一个模块外的相对地址修改成装入模块中的相应的相对地址。(第一个模块A的相对地址不变,仍为0)

2、变换外部调用符号。即将每个模块中所用的外部调用符号,都变换为相对地址。

4. 何谓装入时动态链接?装入时动态连接方式有何优点?

答:对比静态链接,装入时动态链接是在装入内存时,边链接边装入。装入时动态链接可以让目标模块可共享,易于修改。因为,动态链接在每次装入内存时都需要重新链接,所以,对单个的目标模块很容易修改和更新,而且目标模块的共享也很容易。

5. 何谓运行时动态链接?运行时动态链接方式有何优点? 答:对比装入时动态链接,运行时动态链接是在程序运行时才链接所需的目标模块。运行时动态链接可以让程序运行所必须得模块之外的模块不链接,加快程序的装入过程,节省大量的内存空间。

6. 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?

答:在动态分区分配中,介绍了七种算法,其中首次适应、循环首次适应算法需要按照地址递增的顺序链接分区,最佳适应、最坏适应算法需要按照分区的大小来链接分区,快速适应、伙伴系统、哈希算法需要按照分区的大小分类链接成不同种类的空闲分区链。

7. 为什么要引入动态重定位?如何实现? 答:在内存分配过程中,不免出现许多不可利用的小的空闲空间以至于造成了内存的利用率不高。如果让已经存在的程序紧凑起来,那么,那些不可利用的小的空闲空间也就连成了更大的空闲空间以供利用,移动已经在内存中的程序就是动态重定位。关于如何实现,在从系统中增设一个重定位寄存器,用它来存放程序(数据)在内存中的起始地址,程序运行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而成的。绝对地址是在程序运行时产生,那么对内存中的程序也就可以移动位置而可以用相对地址。

8. 什么是基于顺序搜索的动态分区分配算法?它可分为哪几种? 答:我们通常将系统中的空闲分区链接成一个链,然后在分配分区的时候依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区,定义如何搜索的算法就是基于顺序搜索的动态分区分配算法。它分为首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。

9. 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况? 答:回收内存的时候,我们把将要回收的内存区的首址拿到空闲分区链表中比对找出插入点(按照空闲分区链的构建算法),如果将要回收的内存和插入点的左、右或者两者都相邻,那就把相邻的区合并成一个区,如果不相邻那就单独作为一个区插入进去,并修改相关的数据结构中的值。

10. 什么是基于索引搜索的动态分区分配算法?它可分为哪几种? 答:我们把空闲分区按照某种属性(通常是大小)分类,把每一类都链接起来形成一个链表,建立一个表把每类链表的相关信息写进去以供索引,按照这个数据分配空闲分区的算法叫做基于索引搜索的动态分区分配算法。它分为快速适应算法、伙伴系统、哈希算法。 11.令

表示大小为

的通用表达式。

答:当时,

时,

;当

、地址为x 的块的伙伴系统地址,试写出

12.分区存储管理中常用那些分配策略?比较它们的优缺点。

答:分区存储管理中的常用分配策略:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。 首次适应算法优缺点:保留了高址部分的大空闲区,有利于后来的大型作业分配;

低址部分不断被划分,留下许多难以利用的小空闲区,每次查找都从低址开始增加了系统开销。

循环首次适应算法优缺点:内存空闲分区分布均匀,减少了查找系统开销;缺乏

大空闲分区,导致不能装入大型作业。

最佳适应算法优缺点:每次分配给文件的都是最适合该文件大小的分区,内存中

留下许多难以利用的小空闲区。

最坏适应算法优缺点:剩下空闲区不太小,产生碎片几率小,对中小型文件分配

分区操作有利;存储器中缺乏大空闲区,对大型文件分区分配不利。

13. 为什么要引入对换?对换可分为哪几种类型?

答:为了提高系统的吞吐量,提高内存的利用率和处理机的利用率。对换可分为整体对换和局部对换(分段或页面对换)。

14. 对文件区管理的目标和对对换空间管理的目标有何不同?

答:对文件区的管理,主要是注重存储器利用率,其次才是存取的速度,故采取的是离散存储方式。但是对于对换区,我们主要是注重文件的存取速度,其次才是存储器的利用率,故采用的是连续分配的方式。 15. 为实现对换,系统应具备哪几方面的功能?

答:为了实现对换,系统必须实现的是:对对换空间的管理,进程的换入和进程的换出。

16. 在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?

答:在选择换出程序之后,在对进程进行换出时,只能换出那些非共享的程序和数据段,而对于那些共享的数据段,只要有其他进程还需要,就不能换出。实质上,共享的程序和数据段不属于哪个进程。

17. 基于离散分配时所用的基本单位不同,可将离散分配分为哪几种? 答:分为分页存储管理方式,分段存储管理方式,段页式存储管理方式。

18. 什么是页面?什么是物理块?页面的大小应如何确定?

答:将进程的逻辑地址空间分成若干等分,同时相应的把内存也分成若干等分,前者产生的分组叫做页面,后者产生的分组称为物理块或页框。页面的大小应选择适中,应该是2的幂,通常为1K~8K,根据分配算法灵活变化。

19. 什么是页表?页表的作用是什么?

答:分页系统采用的是离散分配方式,所以,进程的各个页允许离散的存储在内存的任意物理块中,所以就建立一张映射表反应他们的对应关系,这张表就叫页表。页表反应的是进程的逻辑地址和内存的物理地址的映射。通过查找页表可以知道进程的逻辑地址的相应页在内存中放在何处。 20. 为实现分页存储管理,需要哪些硬件支持?

答:需要页表寄存器、物理地址寄存器和联想寄存器(快表)。页表寄存器和物理地址寄存器是地址变换机构所需的基本寄存器,联想寄存器是优化了地址转换过程后需要添加的一个寄存器。

21. 在分页系统中是如何实现地址变换的? 答:首先,进程运行时从进程的PCB中把页表始址和页表长度放入页表寄存器中,当进程要访问某个逻辑地址中的数据的时候,分页地址变换机构会自动的将有效地址(逻辑地址)分为页号和页内地址。讲页号和页表寄存器中的页表长度相比,如果页号比较大则说明访问越界,抛出中断。否则利用页号、页表始址和页表项长度计算出相应的页表中的位置(因为页表在内存中,所以需要计算对应的地址,而不是想象中的直接匹配页号,相当于“起点+单位数*单位长度”),从而得到物理块号。把物理块号和页内地址同时送入物理地址寄存器中,相结合得到物理地址。

22. 具有快表时是如何实现地址变换的?

答:首先,以前转换过程中查找过的页表项会被记录在快表之中。在每次需要访问逻辑地址中的数据的时候,都会根据页号先到快表中查看有没有对应的匹配项,如果有就直接得到相应的物理块号而不需要进过利用始址、页号和页表项长度计算后去内存中查表。得到物理块号后依然是送到物理地址寄存器中和页内地

址结合形成最后的物理地址。

23. 较详细的说明引入分段存储管理是为了满足用户的哪几方面的需要? 答:方便编程、信息共享、信息保护、动态增长和动态链接。

24. 在具有快表的段页式存储管理方式中,如何实现地址变换? 答:与分页系统中方式一样,只是多了一个维度就是检索段号以后才可以得到页表,再用段内页号和页表进行匹配,得到物理块号,最后和页内地址结合得到物理地址。

25. 为什么说分段系统比分页系统更易于实现信息的共享和保护?

答:信息的共享和保护都是以信息的逻辑单位为基础的,所以,经常是以一个段为基本单位进行保护和共享的。但是在分页系统中,可能一个信息的逻辑单位有很多页,且一页中可能含有不同程序段的数据或程序。 26. 分页和分段存储管理有何区别?

答:页是信息的物理单位,而段是信息的逻辑单位。页的大小固定而且由系统决定,段的大小不固定,通常由编译程序划分。分页用户程序地址空间是一维的,分段用户程序地址空间是二维的。

27. 试全面比较连续分配和离散分配方式。

答:连续分配方式不需要额外的硬件支持,且实现算法相对简单。但是在很多情况下会造成内存利用率低,系统吞吐量小和CPU利用率低等情况,虽然可以通过紧凑等方式有所调节,但是紧凑也会造成很大的系统开销。离散分配方式需要额外的硬件支持,且实现的算法相对比较复杂,但是出于用户或操作系统的角度,离散分配方式在系统性能上或实现功能上明显比连续分配更灵活。比如信息的保护和共享等等方面,离散比连续更加容易实现。

第五章 虚拟存储器

1、常规存储器管理方式具有哪两大特征?它对系统性能有何影响? 答:一次性:进程必须全部装入内存,对空间浪费非常大;

驻留性:在程序运行过程中,进程全部驻留在内存,暂时不用的数据无法释放。

2.什么是程序运行时的时间局限性和空间局限性?

答:(1)时间局限性:如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则不久的将来该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。 (2)空间局限性:一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围内。产生空间局限性的典型原因是程序是顺序执行的。

3.虚拟存储器有哪些特征?其中最本质的特征是什么?

答:虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性。

4.实现虚拟存储器需要哪些硬件支持? 1.请求分页(段)的页(段)表机制 2.缺页(段)中断机构 3.地址变换机构

5.实现虚拟存储器需要哪几个关键技术?

答:(1)在分页请求系统中是在分页的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。允许只装入少数页面的程序(及数据),便启动运行。

(2)在请求分段系统中是在分段系统的基础上,增加了请求调段及分段置换功能后形成的段式虚拟存储系统。允许只装入少数段(而非所有段)的用户程序和数据,即可启动运行。

6.在请求分页系统中,页表应包括哪些数据项?每项的作用是什么?

答:页表应包括:页号、物理块号、状态位P、访问字段A、修改位M和外存地址。 状态位P :指示该页是否调入内存,供程序访问时参考; 访问字段A :用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考; 修改位M: 表示该页在调入内存后是否被修改过; 外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。 7. 试比较缺页中断机构与一般的中断,它们之间有何明显的区别? 答:1.一般中断只需要保护现场然后就直接跳到需及时处理的地方。

2. 缺页中断除了保护现场之外,还要判断内存中是否有足够的空间存储所需的页或段,然后再把所需页调进来再使用。 8.请详细说明请求分页系统的地址变换过程。

答:请求分页系统的地址变换过程如下:(图略去) 1)取逻辑地址分解为页号P和页内偏移w;

2) 根据页号查找页表,获得该页的描述信息; 3)若该页中断位为1,产生缺页中断;


操作系统原理最全课后答案汤小丹(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:地球构造运动期

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: