OS存储器管理相关练习

OS存储器管理相关练习


选择题

1、 静态重定位是在作业(2)中进行,而动态重定位是在作业(4)中进行。
(1) 编译过程 (2)装入过程 (3)修改过程 (4)执行过程

2、 由连续分配方式发展到分页存储管理方式的主要动力是(1);由分页系统发展到分段系统,进而发展到段页式系统的主要动力是(4)和(5)
(1) 提高内存利用率 (2)提高系统吞吐量 (3)满足用户需要(4)更好地满足多道程序运行的需要 (5)既满足用户要求,又提高内存利用率

3、 首次适应算法中,要求空闲区按(1)的顺序形成空闲分区链;最佳适应算法中,需要按照(3)顺序形成空闲分区链;最坏适应算法是(4)的顺序形成空闲链。
(1)空闲区的起始地址递增 (2)空闲区起始地址递减
(3)空闲区大小递增 (4)空闲区大小递减

4、 对外存交换区的管理应以(4)为主要目标,外存文件区的管理应以(2)为主要目标。
(1) 提供系统吞吐量 (2)提供存储空间的利用率 (3)降低存储费用 (4)提供换入换出速度

5、 虚拟存储器管理系统的基础是程序的局部性原理,那么,局部性理论的基本含义是(程序在执行过程中一个较短时期,所执行的指令地址和指令操作数地址分别局限于一定区域),局部性有两种表现形式,分别是(时间局部性)和(空间局部性)。

6、 一个计算机系统中,虚拟存储器的最大容量是由(5)确定的,其实际容量是由(4)确定的。
(1) 计算机字长 (2)内存容量 (3)硬盘容量 (4)内存和硬盘交换区容量之和 (5)计算机的地址结构

7、 在请求调页系统中,内存分配有两种策略:(3)和(4),(3)的缺点是可能导致频繁地出现缺页中断而造成cpu利用率下降。
(1)首次适应 (2)最佳适应 (3)固定分配 (4)可变分配

8、请求调页系统中有多种置换算法:选择最先进入内存的页面淘汰的算法称为(1);选择以后不再使用的页面予以淘汰的算法称为(2);选择自上次访问以来所经历时间最长的页面予以淘汰的算法称为(5);选择自某个时刻开始以来,访问次数最少的页面予以淘汰的算法称为(3);
(1) FIFO (2)OPT (3)LRU (5)LFU

9、  在保护机构中,操作系统应该处于(1)内,一般应用程序应该处于(2)内,并遵循下面的规则:一个程序可以访问驻留在(5)中的数据;一个程序可以调用驻留在(4)中的服务。
(1)最高特权 (2)最低特权 (3)相同特权 (4)相同特权和高特权 (5)相同特权和低特权

扫描二维码关注公众号,回复: 12898917 查看本文章

10 .虚拟存储系统中,完成地址转换工作的是_A___。
A.硬件 B.地址转换程序
C.装入程序 D.装入程序和地址转换程序
11. 在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是 (1D) ;若释放的空闲区有上或下邻空闲区,则释放的空闲区数(2A) 。
(1)A.无上邻空闲区,也无下邻空闲区
  B.有上邻空闲区,但无下邻空闲区
  C.有下邻空闲区,但无上邻空闲区
  D.有上邻空闲区,也有下邻空闲区
(2) A.保持不变 B.减1 C. 加1 D.置零
12.  段表如下:

段号 基址 长度
0 1300 390
1 400 780
2 2900 1000
3 230 30

逻辑地址[1, 282]的物理地址是 (1B) ;
逻辑地址[2, 1003]的物理地址是 (2D) ;
逻辑地址[3, 28]的物理地址是 (3C) 。
(1) A. 400   B. 682   C. 282   D. 溢出
(2) A. 2900   B. 1003   C. 3903   D. 溢出
(3) A. 230   B. 30   C. 258   D. 溢出

13. 在请求分页管理中,若采用先进先出(FIFO)页面置换算法,可能会产生“FIFO异常”, “FIFO异常”指的是 B 。
A. 频繁地出页入页的现象
B. 分配的页面数增加,缺页中断的次数也可能增加
C. 进程交换的信息量过大导致系统工作区不足
D. 分配给进程的内存空间不足使进程无法正常工作
简答题
.为什么要配置层次式存储器?

答:设置多个存储器可以使存储器两端的硬件能并行工作;采用多级存储系统,特别是Cache 技术,是减轻存储器带宽对系统性能影响的最佳结构方案;在微处理机内部设置各种缓冲存储器,减轻对存储器存取的压力。增加CPU中寄存器数量大大缓解对存储器压力。

2.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?

答: (1)绝对装入方式,只适用于单道程序环境。(2)可重定位装入方式,适用于多道程序环境。(3)动态运行时装入方式,用于多道程序环境;不允许程序运行时在内存中移位置。

3.何谓静态链接?何谓装入时动态链接和运行时的动态链接?P120

答:静态链接是指在程序运行前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。装入时动态链接是指将用户源程序编译后得到的一组目标模块,在装入内存时采用边装入边链接的链接方式。运行时动态链接是指对某些目标模块的链接,是在程序执行中需要该目标模块时,才对它进行的链接。

4.在进行程序链接时,应完成哪些工作?

答:由链接程序Linker将编译后形成的一组目标模块,以及它们需要的库函数链接在一起,形成一个完整的装入模块Load Module。主要工作是修改程序内的相对地址和修改目标程序中的外部调用标号。

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

答:在每个分区的起始部分,设置一些控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部设置一个后向指针,通过前后向链接指针,将所有空闲分区链成一个双向链。当分区分配出去后,把状态位由“0”改为“1”。

6.为什么要引入动态重定位?如何实现?

答:在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位;具体实现方法是在系统中增加一个重定位寄存器,用来装入程序在内存中的起始地址,程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加之和,从而实现动态重定位。

7.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?

答:在采用首次适应算法回收内存时可能出现4种情况:(1)回收区前邻空闲区。将回收区与前邻空闲区合并,将前邻空闲区大小修改为两者之和。(2)回收区后邻空闲区。将两区合并,改后邻空闲区始址为回收区始址,大小为两者之和。(3)回收区前后均邻空闲区。将三个分区合并,修改前邻空闲区大小为三者之和。(4)回收区前后均不邻空闲区。为回收区设置空闲区表项,填入回收区始址和大小并插入

空闲区队列。

8.令表示大小为、地址为x 的块的伙伴系统地址,试写出的通用表达式。

答:当时,;当 时,

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

答:分区存储管理中的常用分配策略:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。

首次适应算法优缺点:保留了高址部分的大空闲区,有利于后来的大型作业分配;低址部分不断被划分,留下许多难以利用的小空闲区,每次查找都从低址开始增加了系统开销。

循环首次适应算法优缺点:内存空闲分区分布均匀,减少了查找系统开销;缺乏大空闲分区,导致不能装入大型作业。

最佳适应算法优缺点:每次分配给文件的都是最适合该文件大小的分区,内存中留下许多难以利用的小空闲区。

最坏适应算法优缺点:剩下空闲区不太小,产生碎片几率小,对中小型文件分配分区操作有利;存储器中缺乏大空闲区,对大型文件分区分配不利。

10.在系统中引入对换后可带来哪些好处?

答:交换技术将暂不需要的作业移到外存,让出内存空间以调入其它作业,交换到外存的作业也可以被再次调入。目的是解决内存紧张问题,带来的好处是进一步提高了内存利用率和系统吞吐量。

11.为实现对换,系统应具备哪几方面的功能?

答:系统应具备三方面功能:对换空间管理,进程换出,进程换入。

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

答:在以进程为单位进行对换时,并非每次都将整个进程换出。这是因为:(1)从结构上讲,进程由程序段、数据段和进程控制块组成的,其中进程控制块总有部分或全部常驻内存,不被换出。(2)程序段和数据段可能正被若干进程共享,此时它们也不能换出。

13.为实现分页存储管理,需要哪些硬件的支持?

答:动态重定位技术、虚拟存储技术、多道程序设计技术。

14.较详细的说明引入分段存储管理是为了满足用户哪几方面的需要。

答:1) 方便编程。用户通常把自己的作业按照逻辑关系划分为若干段,每段都从0 编址,并有自己名字和长度。因此,希望要访问的逻辑地址是由段名和段内偏移量决定。2) 信息共享。在实现对程序和数据的共享时,是以信息逻辑单位为基础。分页系统中的页是存放信息的物理单位,无完整意义,不便于共享;段是信息的逻辑单位。为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。3) 信息保护。对信息的逻辑单位进行保护,分段能更有效方便地实现信息保护功能。4) 动态增长。在实际应用中,有些段特别是数据段,在使用过程中会不断增长,事先又无法确切知道增长多少。分段存储管理方式能较好解决这个问题。5) 动态链接。运行时先将主程序对应的目标程序装入内存并启动运行,运行过程中又需要

调用某段时,才将该段调入内存链接。所以动态链接也要求以段作为管理单位。

15.在具有快表的段页式存储管理方式中,如何实现地址变换?

答:在CPU给出有效地址后,由地址变换机构自动将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号比较,若找到匹配页号,表示要访问的页表项在快表中。可直接从快表读出该页对应物理块号,送到物理地址寄存器中。如快表中没有对应页表项,则再访问内存页表,找到后,把从页表项中读出物理块号送地址寄存器;同时修改快表,将此页表项存入快表。但若寄存器已满,则OS必须找到合适的页表项换出。

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

答:分页系统的每个页面是分散存储的,为了实现信息共享和保护,页面之间需要一一对应,为此需要建立大量的页表项;而分段系统的每个段都从0 编址,并采用一段连续的地址空间,在实现共享和保护时,只需为要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应就能够实现。

17.分段和分页存储管理有何区别?

答:(1)页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外部零头,提高内存利用率。段则是信息的逻辑单位,它含有一组相对完整的信息。(2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机械硬件实现的,因而在系统中只能有一种大小的的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对原程序进行编译时,根据信息的性质来划分。(3)分页的作业地址空间是一维的,而分段作业地址空间则是二维的。

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

答:(1)连续分配是指为一个用户程序分配一个连续的地址空间,包括单一和分区两种分配方式。单一方式将内存分为系统区和用户区,最简单,只用于单用户单任务操作系统;分区方式分固定和动态分区。(2)离散分配方式分为分页、分段和段页式存储管理。分页式存储管理旨在提高内存利用率,分段式存储管理旨在满足用户(程序员)的需要,段页式存储管理则将两者结合起来,具有分段系统便于实现、可共享、易于保护和动态链接等优点,又能像分页系统很好解决外部碎片及为各段可离散分配内存等问题,是比较有效的存储管理方式;

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

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

20.实现虚拟存储器需要哪些硬件支持?

答:(1)请求分页(段)的页(段)表机制(2)缺页(段)中断机构(3)地址变换机构

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

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

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

答:页表应包括:页号、物理块号、状态位P、访问字段A、修改位M和外存地址。其中状态位P 指示该页是否调入内存,供程序访问时参考;访问字段A 用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考;修改位M 表示该页在调入内存后是否被修改过;外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。

23.在请求分页系统中,应从何处将所需页面调入内存?

答:请求分页系统中的缺页从何处调入内存分三种情况:(1)系统拥有足够对换区空间时,可以全部从对换区调入所需页面,提高调页速度。在进程运行前将与该进程有关的文件从文件区拷贝到对换区。(2)系统缺少足够对换区空间时,不被修改的文件直接从文件区调入;当换出这些页面时,未被修改的不必换出,再调入时,仍从文件区直接调入。对于可能修改的,在换出时便调到对换区,以后需要时再从对换区调入。(3)UNIX 方式。未运行页面从文件区调入。曾经运行过但被换出页面,下次从对换区调入。UNIX 系统允许页面共享,某进程请求的页面有可能已调入内存,直接使用不再调入。

24.在请求分页系统中,常采用哪几种页面置换算法?

答:采用的页面置换算法有:最佳置换算法和先进先出置换算法,最近最久未使用(LRU)置换算法,Clock置换算法,最少使用置换算法,页面缓冲算法等。

25.在请求分页系统中,通常采用哪种页面分配方式?为什么?

答:固定分配方式是基于进程的类型(交互型)或根据程序员、系统管理员的建议,为每个进程分配固定页数的内存空间,整个运行期间不再改变;采用可变分配方式有全局置换和局部置换两种,前者易于实现,后者效率高。

26.在一个请求分页系统中,采用LRU 页面置换算法时,假如一个作业的页面走向为 4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5 ,当分配给该作业的物理块数M分别为3和4时,试计算访问过程中所发生的缺页次数和缺页率 ? 比较所得结果 ?(参考答案有错)

答:当分配给该作业的物理块数M为3时,缺页7次,缺页率: 7/12=0.583;

当分配给该作业的物理块数M为4时,缺页4次,缺页率: 4/12=0.333.

-------以上解答出错。正确解法见下面:

答:当分配给该作业的物理块数M为3时,缺页9次,缺页率: 9/12=3/4;

当分配给该作业的物理块数M为4时,缺页10次,缺页率: 10/12=5/6.

27.实现LRU算法所需的硬件支持是什么?

答:需要寄存器和栈等硬件支持。寄存器用于记录某进程在内存中各页的使用情况,栈用于保存当前使用的各个页面的页面号。

28.试说明改进型 Clock 置换算法的基本原理.

答:因为修改过的页面在换出时付出的开销比未被修改过的页面大,在改进型Clock 算法中,既考虑页面的使用情况,还要增加置换代价的因素;在选择页面作为淘汰页面时,把同时满足未使用过和未被修改作为首选淘汰页面。

29.说明请求分段系统中的缺页中断处理过程。

答:请求分段系统中的缺页中断处理过程描述如下:(1)根据当前执行指令中的逻辑地址查页表,判断该页是否在主存储器中(2)该页标志为“0”形成缺页中断,中断装置通过交换PSW让操作系统的中断处理程序占用处理器。(3)操作系统处理缺页中断处理的办法是查主存分配表找一个空闲的主存块,查页表找出该页在磁盘上位置,启动磁盘读出该页信息。(4)把从磁盘上读出的信息装入找到的主存块中。(5)当页面住处被装入主存后,应修改页表中对应的表目,填上该页所占用的主存块把标志置为“1”,表示该页已在主存储器中(6)由于产生缺页中断时的那条指令并没执行完,所以在把页面装入之后应重新执行被中断指令。请求分段系统中的缺页中断处理过程如下图所示:
在这里插入图片描述
30.如何实现分段共享 ?

答:在每个进程的段表中,用相应的表项指向共享段在内存中起始地址;配置相应的数据结构作为共享段表,在段表项中设置共享进程计数Count ,每调用一次该共享段,Count值增 1,每当进程释放一个共享段时,Count 减1,若减为0,则系统回收该共享段的物理内存,取消在共享段表中该段对应的表项;共享段应给不同的进程以不同的存取权限;不同的进程可以使用不同的段号去共享该段。

1. 常规存储器管理方式具有哪两大特征?它对系统性能有何影响?
答:一次性:进程必须全部装入内存,对空间浪费非常大;
  驻留性:在程序运行过程中,进程全部驻留在内存,暂时不用的数据无法释放。
2. 什么是程序运行时的时间局限性和空间局限性?
答:(1) 时间局限性:如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则不久的将来该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。
(2)空间局限性:一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围内。产生空间局限性的典型原因是程序是顺序执行的。
3 .虚拟存储器有哪些特征?其中最本质的特征是什么?
答:虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性。
4. 实现虚拟存储器需要哪些硬件支持?
答:a. 请求分页(段)的页(段)表机制

b. 缺页(段)中断机构

c. 地址变换机构

5 .实现虚拟存储器需要哪几个关键技术?
答:(1)在分页请求系统中是在分页的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。允许只装入少数页面的程序(及数据),使启动运行。

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

6 .在请求分页系统中,页表应包括哪些数据项?每项的作用是什么?
答:页表应包括:页号、物理块号、状态位P、访问字段A、修改位M和外存地址。其中状态位P指示该页是否调入内存,供程序访问时参考;

访问字段A用于记录本页在一段时间内被访问的次数,或最近己有多长时间未被访问,提供给置换算法选择换出页面时参考;

修改位M表示该页在调入内存后是否被修改过:

外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。
7 .试比较缺页中断机构与一般的中断,它们之间有何明显的区别?
答:a. 一般中断只需要保护现场然后就直接跳到需及时处理的地方。
  b .缺页中断除了保护现场之外,还要判断内存中是否有足够的空间存储所需的页或段,然后再把所需页调进来再使用。
8. 试说明请求分页系统中的地址变换过程。
答:1)取逻辑地址分解为页号P和页内偏移w;

2)根据页号查找页表,获得该页的描述信息;

3)若该页中断位为1,产生缺页中断;

4)更新该页的描述信息;

5) 根据页块号和页内偏移w,计算物理地址。
9 .何谓固定分配局部置换和可变分配和全局置换的内存分配策略?

答:(1)固定分配局部置换固定分配是指,为每个进程分配一组固定数目的物理块,在进程运行期间不再改变。
    局部置换是指,如果进程在运行中发现缺页,则只能从分配给该进程的n个页面中,选出一页换出,然后再调入一页。
  (2)可变分配全局置换可变分配是指,先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况做适当地改变。
    全局置换是指,如果进程在运行中发现缺页,则将0S所保留的空闲物理块或者以所有进程的全部物理块为标的,选择一块换出,然后将所缺之页调入。
10 .在请求分页系统中,应从何处将所需页面调入内存?
答:请求分页系统中的缺页从何处调入内存分三种情况:
  (1)系统拥有足够对换区空间时,可以全部从对换区调入所需页面,提高调页速度。在进程运行前将与该进程有关的文件从文件区拷贝到对换区。
  (2)系统缺少足够对换区空间时,不被修改的文件直接从文件区调入:当换出这些页面时,未被修改的不必换出,再调入时,仍从文件区直接调入。对于可能修改的,在换出时便调到对换区,以后需要时再从对换区调入。
  (3)UNIX方式。未运行页面从文件区调入。曾经运行过但被换出页面,下次从对换区调入。UNIX系统允许页面共享,某进程请求的页面有可能已调入内存,直接使用不再调入。
11. 试说明在请求分页系统中页面的调入过程。
答:每当程序所要访问的页面未在内存时(存在位为“0”),便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后,转入缺页中断处理程序。该程序通过查找页表,得到该页在外存的物理块后,如果此时内存能容纳新页,则启动磁盘I/0,将所缺之页调入内存,然后修改页表。如果内存已满,则须先按照某种置换算法,从内存中选出一页准备换出;如果该页未被修改过(修改位为“0”),可不必将该页写回磁盘;但如果此页已被修改(修改位为“1”),则必须将它写回磁盘,然后再把所缺的页调入内存,并修改页表中的相应表项,置其存在位为“1”,并将此页表项写入快表中。
在缺页调入内存后,利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。整个页面的调入过程对用户是透明的。
12 .在请求分页系统中,常采用哪几种页面置换算法?
答:采用的页面置换算法有:最佳置换算法和先进先出置换算法,最近最久未使用(LRU)置换算法,Clock置换算法,最少使用置换算法,页面缓冲算法等。

13 .在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。

在这里插入图片描述

M=3时,采用FIFO页面置换算法的缺页次数为9次,缺页率为75%;M=4时,采用FIFO页面置换算法的缺页次数为10次,缺页率为83%。
  由此可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称为是Belady现象。
14. 实现LRU算法所需的硬件支持是什么?
答:需要寄存器和栈等硬件支持。寄存器用于记录某进程在内存中各页的使用情况,栈用于保存当前使用的各个页面的页面号。
15 .试说明改进型Clock置换算法的基本原理.
答:因为修改过的页面在换出时付出的开销比未被修改过的页面大,在改进型Clock算法中,既考虑页面的使用情况,还要增加置换代价的因素;在选择页面作为淘汰页面时,把同时满足未使用过和未被修改作为首选淘汰页面。
16 .影响页面换进换出效率的若干因素是什么?
(1)页面置换算法:影响页面换进换出效率最重要的因素,直接影响进程在运行过程中的缺页率,影响页面换进换出的开销。
(2)写回磁盘的频率:如果是采取每个页面换出时,就将它写回磁盘的策略,这意味着每换出一个页面,便需要启动一次磁盘。但如果在系统中建立了一个已修改换出页面链表,对每一个要被换出的页面(已修改),系统可暂不把它们写回磁盘,而是将它们挂在已修改换出页面链表上,仅当被换出页面数目达到一定值时,再将它们一起写回到磁盘上,这样就显著地减少了磁盘I/0的操作次数。或者说,减少已修改页面换出的开销。
(3)读入内存的频率:在设置了已修改换出页面链表后,在该链表上就暂时有一批装有数据的页面,如果需要再次访问这些页面时,就不需从外存上调入,而直接从已修改换出页面链表中获取,这样也可以减少将页面从磁盘读入内存的频率,减少页面换进的开销。或者说,只需花费很小的开销,便可使这些页面,又回到该进程的驻留集中。
17 .页面缓冲算法的主要特点是什么?它是如何降低页面换进换出的频率的?
答:① 显著地降低了页面换进、换出的频率,使磁盘I/0的操作次数大为减少,因而减少了页面换进、换出的开销;
 ②由于换入换出的开销大幅度减小,才能使其采用一种较简单的置换策略,如先进先出(FIFO)算法,它不需要特殊硬件的支持,实现起来非常简单。
在该系统中,内存分配策略上采用了可变分配和局部置换方式。为了能显著地降低了页面换进、换出的频率,在内存中设置了如下两个链表:
  (1)空闲页面链表:是一个空闲物理块链表,用于分配给频繁发生缺页的进程,以降低该进程的缺页率。当有一个未被修改的页要换出时,实际上并不将它换出到外存,而是把它们所在的物理块,挂在空闲链表的末尾。
  (2)修改页面链表:由已修改的页面所形成的链表。设置该链表的目的,是为了减少已修改页面换出的次数。降低将已修该页面写回磁盘的频率,以及降低将磁盘内容读入内存的频率。
18 .什么是抖动? 产生抖动的原因是什么?
答:a. 抖动(Thrashing) 就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的工作,我们称这种现象为"抖动"。
  b. 产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于"抖动"状态。
19 .何谓工作集?它是基于什么原理确定的?
答:工作集(或驻留集)是指在某段时间间隔内,进程要访问的页面集合。经常被使用的页面需要在工作集中,而长期不被使用的页面要从工作集中被丢弃。为了防止系统出现抖动现象,需要选择合适的工作集大小。
  工作集模型的原理是:
   让操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果还有空闲物理块,则可以再调一个进程到内存以增加多道程序数。
   如果所有工作集之和增加以至于超过了可用物理块的总数,那么操作系统会暂停一个进程,将其页面调出并且将其物理块分配给其他进程,防止出现抖动现象。正确选择工作集的大小,对存储器的利用率和系统吞吐量的提嵩,都将产生重要影响。
20 .当前可以利用哪几种方法来防止“抖动”?
(1)采取局部置换策略(2)把工作集算法融入到处理机调度中(3)利用“L=S”准则调节缺页率(4)选择暂停的进程

21 .试试说明如何利用“L=S”准则来调节缺页率,以避免“抖动”的发生?
答:P173 于1980年Denning提出了“L=S”的准则,来调节多道程序度,其中L是缺页之间的平均时间,S是平均缺页服务时间,即用于置换一个页面所需的时间。利用“L=S”准则,对于调节缺页率是十分有效的。
22 .为了实现请求分段式存储管理,应在系统中增加配置哪些硬件结构?
答:请求段表机制、缺段中断机制和地址变换机构。
23 .在请求段表机制中,应设置哪些段表项?

在这里插入图片描述

24 .说明请求分段系统中的缺页中断处理过程。
答:请求分段系统中的缺页中断处理过程描述如下:
  (1)根据当前执行指令中的逻辑地址查页表,判断该页是否在主存储器中(2)该页标志为“0”形成缺页中断,中断装置通过交换PSW让操作系统的中断处理程序占用处理器。
  (3)操作系统处理缺页中断处理的办法是查主存分配表找一个空闲的主存块,查页表找出该页在磁盘上位置,启动磁盘读出该页信息。
  (4)把从磁盘上读出的信息装入找到的主存块中。
  (5)当页面住处被装入主存后,应修改页表中对应的表目,填上该页所占用的主存块把标志置为“1”,表示该页已在主存储器中

(6)由于产生缺页中断时的那条指令并没执行完,所以在把页面装入之后应重新执行被中断指令。
请求分段系统中的缺页中断处理过程如下图所示:

在这里插入图片描述

在这里插入图片描述
26 .如何实现共享分段的分配和回收?
答:①共享段的分配:在为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,当又有其它进程需要调用该共享段时,无须再为该段分配内存。
  ②共享段的回收:当共享此段的某进程不再需要该段时,若无其他进程使用该段,则由系统回收该共享段的物理内存,否则只是取消调用者进程在共享段表中的有关记录。
练习题

1、 某系统采用页式存储管理策略,拥有逻辑空间32页,每页是2k,拥有物理空间为1M。
(1)写出逻辑地址的格式
(2)如果不考虑访问权限等,进程的页表有多少项?每项至少有多少位?
(3)如果物理地址空间减少一半,页表结构应如何改变?

(1)	5位页号 +11位页内偏移
(2)	进程的页表最多是32项,每项为9位
(3)	进程页表项不变,还为32项目,每项为8位。

3 、某虚拟存储器的用户空间共有32个页面,每页1k,主存16k。假定某个时刻系统为用户的第0、1、2、3页分配物理块号为5、10、4、7,而该用户作业的长度为6页,试将十六进程的虚拟地址05AC、103C、1A5C转换成物理地址。

由用户空间是32页,每页是1K可知道,该系统逻辑地址为15位,其中页号为5位,页内地址为10位。 由物理地址空间为16K可知,物理地址为14位,由于每个页面为1K,则可知道页内地址为10位,页号为4位。

虚拟地址0A5C是16进制表示形式,转化为2进制为(0000 1010 0101 1100),对照逻辑地址,取其中15位,可知道页号为 00010,即页号为2,该虚拟页面映射到物理页面为4,即物理页面为0100(这是由题目已知条件给出的)。该物理页面号和逻辑页内地址偏移:10 0101 1100 拼接为物理地址: 010 010 0101 1100 ,即物理地址为16进制的125C

5. 一个请求页式存储系统中,一个程序的页面走向为2,3,1,2,4,3,5,7,2,3,4,3,6,2,1,3,4,1假设分配给程序的存储块数为3块,请给出OPT、FIFO、LRU每种页面置换算法的页面走向,并计算缺页率。
解:
OPT最佳置换算法:淘汰最远将来才使用的页。
FIFO先进先出置换算法:淘汰最先进来的页。
LRU最近最久未使用置换算法:最近最久未使用的页。
在这里插入图片描述

F(opt)=10/18=56%
F(fifo)=14/18=78%
F(lru)=15/18=83%

6 .操作系统如果采用段页式存储分配方案,要求:
⑴给出段页式存储分配方案的基本思想及产生什么零头?
⑵如果一页为2K,请通过以下给出的表计算出逻辑地址2/3673的物理地址。
在这里插入图片描述
(1)解: (1)段页式存储的基本思想:把程序按本身的逻辑结构分成若干段,每段都有自己的地址,内存等分成若干大小相等位置固定的块,分配是以块为单位进行分配,装入时把每段分成与块相等的页,页装入到块中,一个程序不用所有的段,一段不用所有的页都装入就可运行。零头:最后一页可能在存储时出现空间闲置。
⑵如果一页为2K,请通过上表计算出逻辑地址2/3673的物理地址。
解⑵从题意和表中看出属2段,3673/2k得页号1对应的块号33,偏移地址3673-2048-1625,所以

  物理地址=块的大小×块号+页内位移=2K×33+1625=69209

7. 有一多道程序设计系统,主存空间为100K,采用可变分区管理及最先适应算法,作业和进程调度均采用FCFS算法,作业序列如下

作业 提交时间 运行时间 主存要求 装入时间
1 10.1 0.3小时 15K 10.1
2 10.3 0.5小时 60K 10.3
3 10.5 0.4小时 50K 10.9
4 10.6 0.4小时 10K 10.6
5 10.7 0.2小时 20K 10.7

(1)作业装入主存的时间及次序;

J1--->J2-->J4-->J5-->J3

(2)计算周转时间,及平均周转时间。
在这里插入图片描述

以上试题大部分为互联网上采集的,难免有出错的地方,欢迎指正,本人定虚心改正.

猜你喜欢

转载自blog.csdn.net/low5252/article/details/106243606