第五章 虚拟存储器

说明

这是我第一次发文章,所以先做一下说明:本章我主要记录自己在做测试和练习的题目,整合自己的题目和网上找到的资源,所以里面肯定有一些错误我没有及时改正,如果有小可爱发现问题的话可以在评论区反应给我。该文章可以为我之后复习所用,同时也欢迎大家一起学习借鉴和转载!谢谢!
(里面的内容不定时更新,加上自己复习的理解;如果想在这篇文章中找答案的话,可以ctrl+F,然后输入题目进行快速对页面进行搜索,小tips)

章节内容介绍

  1. 5.1虚拟存储器概述
  2. 5.2请求分页存储管理(考试重点)
  3. 5.3页面置换算法(考试重点)
  4. 5.4抖动与工作集(考试重点)
  5. 5.5请求分段存储管理

选择题

  1. 在虚拟页式存储管理中,下列说明哪个是正确的?( A )
    A) 页面长度固定,并且是硬件的设计特性
    B) 页面长度固定,并且是软件的设计特性
    C) 页面长度可变,并且是硬件的设计特性
    D) 页面长度可变,并且是软件的设计特性

  2. 以下存储管理技术中,支持虚拟存储器的技术是(C)。
    A.动态分区法 B.可重定位分区法
    C.请求分页技术 D.对换技术

  3. 段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即(B)。
    A、用分段方法来分配和管理物理存储空间,用分页方法来管理用户地址空间。
    B、用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间。
    C、用分段方法来分配和管理主存空间,用分页方法来管理辅存空间。
    D、用分段方法来分配和管理辅存空间,用分页方法来管理主存空间。

  4. 系统抖动是指( B )。
    A、使用机器时,千万屏幕闪烁的现象。
    B、刚被调出的页面又立刻被调入所形成的频繁调入调出现象。
    C、系统盘不净,千万系统不稳定的现象。
    D、由于内存分配不当,偶然造成内存不够的现象。

  5. 实现虚拟存储的目的是(D)。
    A. 实现存储保护 B. 事项程序浮动
    C. 扩充辅存容量 D. 扩充主存容量

  6. 在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数( D )。
    A. 减少 B. 增加 C. 无影响 D. 可能增加也可能减少

  7. 在下面关于虚拟存储器的叙述中,正确的是( B)
    A. 要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存
    B. 要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存
    C. 要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存
    D. 要求程序运行前必须全部装入内存但在运行过程中不必一直驻留在内存

  8. 下述( A )页面淘汰算法会产生Belady现象。
    A. 先进先出 B. 最近最少使用 C. 最不经常使用 D. 最佳
    [解析] 所谓Belady现象是指:在分页式虚拟存储器管理中,发生缺页时的置换算法采用FIFO( 先进先出 )算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。

  9. 在下列有关请求分页管理的叙述中,正确的是( D)
    A. 程序和数据是在开始执行前一次性装入的
    B. 产生缺页中断一定要淘汰一个页面
    C. 一个淘汰的页面一定要写回外存
    D. 在页表中要有"中断位"、"访问位"等信息
    [解析]
    在请求分页系统中,只要求将当前需要的一部分页面装入内存,便可以启动作业运行。在作业执行过程中,当所要访问的页面不在内存时,再通过调页功能将其调入,同时还可以通过置换功能将暂时不用的页面换出到外存上,以便腾出内存空间。
    为了实现请求分页,系统必须提供一定的硬件支持。除了需要一定容量的内存及外存的计算机系统,还需要有页表机制、缺页中断机构和地址变换机构。请求分页系统的页表机制不同于基本分页系统,请求分页系统在一个作业运行之前不要求全部一次性调入内存,因此在作业的运行过程中,必然会出现要访问的页面不在内存的情况,如何发现和处理这种情况是请求分页系统必须解决的两个基本问题。为此,在请求页表项中增加了四个字段:
    增加的四个字段说明如下:

页号物理块号状态位P访问字段A修改位M外存地址

状态位P:用于指示该页是否已调入内存,供程序访问时参考。
访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页最近己有多长时间未被访问,供置换算法换出页面时参考。
修改位M:标识该页在调入内存后是否被修改过。
外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。
在请求分页系统中,每当所要访问的页面不在内存时,便产生一个缺页中断,请求操作系统将所缺的页调入内存。此时应将缺页的进程阻塞(调页完成唤醒),如果内存中有空闲块,则分配一个块,将要调入的页装入该块,并修改页表中相应页表项,若此时内存中没有空闲块,则要淘汰某页(若被淘汰页在内存期间被修改过,则要将其写回外存)。
答案为:D

  1. 在虚拟页式存储管理中,下列说法哪个是正确的?(A)
    A. 页面长度固定,并且是硬件的设计特性
    B. 页面长度固定,是软件的设计特性
    C. 页面长度可变,并且是硬件的设计特性
    D. 页面长度可变,是软件的设计特性

  2. 系统抖动是指( B )
    A. 使用机器时,屏幕闪烁的现象
    B. 刚被调出的页面又立刻被调入所形成的频繁调入调出现象
    C. 系统盘不净,系统不稳定的现象
    D. 由于内存分配不当,偶然造成内存不够的现象

  3. 采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是( B )
    A. 2的24次方 B. 2的16次方 C. 2的32次方 D. 2的8次方

  4. 进程在执行中发生了缺页中断,经操作系统处理后,应让其执行(A)指令。
    A. 被中断的那一条
    B. 被中断的前一条
    C. 被中断的后一条
    D. 启动时的第一条

  5. 实现虚拟存储器的目的是( D )。
    A. 实现存储保护
    B. 实现程序浮动
    C. 扩充辅存容量
    D. 逻辑上扩充主存容量

  6. 在页式置换策略中,(D)策略可能引起抖动。
    A. FIFO B. LRU C. 没有一种 D. 所有

  7. 请求分页存储管理中,若把页面尺寸增大一倍而且可容纳的最大页数不变,则在程序顺序执行时缺页中断次数会(D)
    A. 增加 B. 减少 C. 不变 D. 可能增减也可能减少

  8. 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻用户进程的0,1,2,3页面在内存物理块5,10,4,7中存放,则逻辑地址0A5C(H)所对应的物理地址是(D)。
    A. 2A5C B. 1A5C C. 165C D.125C
    [解析] 见下面的计算题

  9. 在计算机系统中,快表用于(c)
    A. 存储文件信息
    B. 与主存交换信息
    C. 地址变换
    D. 存储通道程序

判断题

  1. 在现代操作系统中,不允许用户干预内存的分配。(对)
  2. 虚地址即程序执行时所要访问的内存地址。(错)
  3. 固定分区存储管理的各分区的大小可变化,这种管理方式不适合多道程序设计系统。(错)
  4. 可变分区存储器可以对作业分配不连续的内存单元。(错)
  5. 采用动态重定位技术的系统,目标程序可以不经任何改动而装入物理内存。(错)
  6. 动态存储分配时,要靠硬件地址变换机构实现重定位。(对)
  7. 虚拟存储器实际上是一种设计技巧,使主存物理容量得到扩大。(错)
  8. 利用对换技术扩充内存时,设计时必须考虑的问题是:如何减少信息交换量,降低交换所用的时间。(对)
  9. 利用对换技术扩充内存时,设计时必须考虑的问题是:如何减少信息交换量,降低交换所用的时间。(对)
  10. 虚拟存储空间实际上就是辅存空间。(错)
  11. 虚拟存储空间不是一个实际存在的存储空间,是操作系统对逻辑内存的扩充 。(错)
  12. 在虚拟存储系统中,操作系统为用户提供了巨大的存储空间。因此,用户地址空间的大小可以不受任何限制。(错)
  13. 在请求分页存储管理中,LRU(最近最少使用)置换策略总是优于FIFO策略。(错)
  14. 页式存储管理系统不利于共享和保护。(对)
  15. 页式存储管理中,为了提高内存的利用效率,允许同时使用不同大小的页面。(错)
  16. 页式存储管理中,一个作业可以占用不连续的内存空间,而段式存储管理中,一个作业则是占用连续的内存空间。(错)
  17. 虚拟存储的实现式基于程序局部性原理,其实质是借助外存将内存较小的物理地址空间转化为较大的逻辑地址空间。(对)
  18. 虚拟存储方式下,程序员编写程序时,不必考虑主存的容量,但系统的吞吐量在很大程度上依赖于主存储器的容量。(对)

问答题

  1. 试述缺页中断与一般中断的主要区别。
    答:缺页中断是一种特殊的中断,它与一般的中断的区别是:
    (1)在指令执行期间产生和处理中断信号,CPU通常在一条指令执行完后检查是否有中断请求,而缺页中断是在指令执行时间,发现所要访问的指令或数据不在内存时产生和处理的。
    (2)一条指令在执行期间可能产生多次缺页中断。如一条读取数据的多字节指令,指令本身跨越两个页面,若指令后一部分所在页面和数据所在页面均不在内存,则该指令的执行至少产生两次缺页中断。

  2. 在请求分页系统中,常采用哪几种页面置换算法?
    答:A.最佳置换算法;
    B.先进先出算法;
    C.最近最久未使用LRU置换算法;
    D.Clock置换算法;
    E.此外,还有最少使用置换算法和页面缓冲算法.

  3. 什么是抖动? 产生抖动的原因是什么?
    答:在请求分页系统中,若在内存引入过多的进程,会使进程的大部分时间都用于页面的换入/换出的操作,而几乎不能完成任何有效的工作。我们称这时的进程处于“抖动”状态。抖动产生的原因是在内存中引入过多的进程而产生的。

计算题

  1. 某虚拟存储器的用户编程空间共32个页面,每页1K,主存为16K。假定某时刻一用户页表已调入内存的页面对应的物理块好如下表。则逻辑地址0A 5C(H)所对应的物理地址为多少?
页号物理块号
010
14
27

答:
0A 5C ( H )化为十进制:2652
页号:2652 / 1024 = 2
查表可知,对应于物理块号 4
页内偏移量:2652 % 1024 = 604
结果:4*1024 + 604 = 4700
化为十六进制为:125C

  1. 对于如下的页面访问序列:
    1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4,5
    问:当内存块数量为3时,试问:使用FIFO、LRU置换算法产生的缺页中断是多少?写出依次产生缺页中断后应淘汰的页。(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断。要求写出计算步骤。)

答:
在这里插入图片描述
在这里插入图片描述

参考文献

如果有想找到原文章的内容,链接在下面。同时也非常欢迎大家去原博客进行学习。

  1. https://blog.csdn.net/wodegeCSDN/article/details/112726771
  2. https://blog.csdn.net/nengshou/article/details/1843000
  3. https://www.jianshu.com/p/2e24315f49ba
  4. https://www.nowcoder.com/questionTerminal/8622d41af5f343c58ebbdf6e2e427ae3
  5. https://www.nowcoder.com/questionTerminal/f129ec1ee3d64e10b24adc3d05b8a12c?toCommentId=590770
  6. https://www.nowcoder.com/questionTerminal/18ad98e8f56b40d4a31238338ee7ac81
  7. https://wenku.baidu.com/view/598d37b9f4335a8102d276a20029bd64793e62d0.html
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值