课后习题---虚拟存储器

Part A
常规存储器管理方式具有哪两大特征?它对系统性能有何影响?

一次性:作业必须一次性地全部装入内存后方能运行
驻留性:作业被装入内存后,整个作业都一直驻留在内存中,直到作业运行结束
对于许多程序运行中不用或暂时不用的程序占据了大量的内存空间,而一些需要运行的作业又无法装入导致内存资源浪费

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

时间局限性:某条指令被执行,不久以后可能再次被执行
空间局限性:某存储单元刚被访问,不久以后可能被再次访问

虚拟存储器有哪些特征?其中最本质的特征是什么?
多次性:只将当前要运行的那部分程序和数据装入内存即可运行(最本质)
对换行:允许作业在运行过程中进行换进换出(最本质)
虚拟性:逻辑上扩充存储空间
虚拟性是以多次性和对换行为基础的

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

请求分页的页表机制:在纯分页的页表机制上增加若干项而形成的,作为请求分页的数据结构
缺页中断机构:访问未调入内存的页面,便产生一缺页中断,以请求OS将所缺的页调入内存
地址变换机构:在纯分页地址变换的机构的基础上发展的

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

页号,物理块号,状态位P,访问字段A,修改位M,外存地址
状态位P:用于指示该页是否已调入内存
访问字段A:用于记录本页在一段时间内被访问的次数,或者最近长时间未被访问
修改位M:标识该页在调入内存后是否被修改过
外存地址:用于指出该页在外存上的地址

试比较缺页中断机构与一般的中断,他们之间的区别?

在指令执行期间产生和处理中断信号:缺页则是发现缺页则立即产生和处理缺页中断信号;中断则是一条指令执行完以后才检查是否有中断请求到达

试说明请求分页系统中的地址变换过程?

检索快表,找要访问的页
有,便修改页表项中的访问位,然后利用页表项中的物理块号和页内地址形成物理地址

无,便在内存中查找页表,再从中找到页表项中的状态位来了解是否调入内存:
已调入内存,则写入快表,快表满则调度替换
未调入内存,则发生缺页中断,从外存调入内存

何谓固定分配局部置换和可变分布全局置换的内存分配策略?

固定分配局部置换:为每个进程分配一组固定数目的物理块,在进程运行期间不再改变,如果发生缺页则只能从分配给出该进程的n个页面中选出一页换出然后在调入
可变分布全局置换:为每个进程分配一定数目的物理块,发现缺页时,只允许从该进程在内存的页面中选择一页进行置换

在请求分页系统中页面的调入过程?

当程序所访问的页面未在内存时,便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后转入缺页中断处理程序
查找页表得到该页在外存的物理块后,如果此时内存能容纳新页,则启动磁盘 I/O 将缺页调入内存,然后修改页表
如果磁盘已满,则按照某种置换算法进行置换【被置换的页,已修改则写回磁盘,否则直接替换】,并修改页表,同时将此页表项写入块表中
最后,通过页表得到物理地址,再访问内存【整个过程对用户透明】

试着说明在请求分页系统中,常用哪几种页面置换算法?

最佳置换算法:长时间内,该页将不再被访问【无法实现】
先进先出算法:先进来的页,先淘汰
最久未被使用算法【LRU】:最近,目标页都未被访问使用(硬件支持:寄存器,栈)
最少使用置换算法【LFU】:每个页面设置一个移动寄存器,记录被访问的次数
clock置换算法:判断访问位是否为零,如果都不为零,则循环达到下一次
页面缓冲算法【PBA】

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

M=3
一共缺页10次,5/6的缺页率
M=4
一共缺页10次,5/6的缺页率

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

寄存器,用于记录某进程在内存中各页的使用情况;栈,用于保存当前使用的各个页面的页面号

试着说明改进型clock置换算法的基本原理

考虑页面的使用情况外,还增加一个置换代价,即设置访问位和修改位

影响页面换进换出效率的若干因素是什么?

页面的置换算法,写回磁盘的频率,读入内存的频率

页面缓冲算法的主要特征是什么?它是如何降低页面换进换出的频率?

特征:降低了页面换进换出的频率,减少了开销
在内存中设置空闲页面链表和修改页面链表

在请求分页系统中,产生“抖动”的原因是什么?

运行的进程太多,分配给每个进程的物理块太少,不能满足进程正常运行,使得频繁出现缺页

何谓工作集?它是基于什么原理确定的?

工作集:在某段时间间隔中,进程实际所要访问页面的集合

当前可以利用哪几种方法来防止抖动?

局部置换策略,把工作集算法融入到处理机调度中,利用“L=S”准则调节缺页率,选择暂停的进程

试着说明如何利用“L=S”准则来调节缺页率,以避免“抖动”的发生

L表示缺页之间的平均时间,S是平均缺页服务时间
L大于S的时候,说明很少发生缺页,磁盘的能力尚未得到充分利用
L小于S的时候,说明缺页频繁
L=S时候,磁盘和处理器可以达到最高利用率

为了实现请求分段式存储管理,应在系统中增加配置哪些硬件机构?

请求段表机构,缺段中断机构,地址变换机构

在请求段表机制中,应设置哪些段表项?

存取方式,访问字段A,修改位M,存在位P,增补位,外存始地址

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

发生中断时,发出缺段中断信号,中断处理程序将所需要的段调入内存

请对共享段表中各项作简要说明

共享进程计数count,存取控制字段,段号

如何实现共享分段的分配和回收?

分配:对第一个请求使用该段的进程,由系统为该共享分配一物理区,再把共享段调入该区,同时将该区的起始地址填入请求进程的段表的相应项中
回收:释放目标段,count自减,结果为0时则回收,否则只取消调用者进程在共享段表中的有关记录

Part B

  • 现代操作系统中,提高内存利用率主要是通过【虚拟存储器】功能实现的

  • 从下列关于非虚拟存储器的论述中,选出一条正确的论述

      要求作业在运行前,必须全部装入内存,且在运行过程中也必须一直驻留内存【对】
      要求作业在运行前,不必全部装入内存,且在运行过程中不必一直驻留内存【错,运行过程中需要驻留在内存】
      要求作业在运行前,不必全部装入内存,但在运行过程中必须一直驻留在内存【错】
      要求作业在运行前,必须全部装入内存,但在运行过程中不必一直驻留内存【错,不需要全部装入内存】
    
  • 虚拟存储器最基本的特征是【多次性】;该特征主要是基于【局部性原理】;实现虚拟存储器最关键的技术是【请求调页(段)】

  • 虚拟存储器管理系统的基本是程序的局部性理论,此理论的基本含义是【程序执行时对主存访问是不均匀的】。局部性有两种表现形式,时间局部性和【空间局部性】,它们的意义分别是【最近被访问的单元,很可能在不久的将来还要被访问】和【最近被访问的单元,很可能他附近的单元也即将被访问】。根据局部性理论denning提出了【工作集理论】

  • 实现虚拟存储器的目的是【扩充主存容量】;下列方式中,【可变分区管理】不适用于实现虚拟存储器

  • 从下列关于虚拟存储器的论述中,选出两条正确的论述

      在请求段页式系统中,以页为单位管理用户的虚空间,以段为单位管理内存空间【错】
      在请求段页式系统中,以段为单位管理用户的虚空间,以页为单位管理内存空间【对】
      为提高请求分页系统中内存的利用率,允许用户使用不同大小的页面【错,页面大小是相通的】
      在虚拟存储器中,为了能让更多的作业同时运行,通常只应装入百分之10~30的作业便启动运行【错】
      实现虚拟存储器的最常用的算法,是最佳适应算法OPT【错】
      由于有了虚拟存储器,于是允许用户使用比内存更大的地址空间【对】
    
  • 一个计算机系统的虚拟存储器的最大容量由【计算机的地址结构】确定的,其实际容量是由【内存和硬件容量之和】确定的

  • 在请求分页系统的页表中,增加了若干项,其中状态位供【程序访问】,修改位供【换出页面】,访问位供【置换算法】,外存起始地址供【调入页面】

  • 在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起【越界中断】,否则,若所需的页不在内存中,则会引起【缺页中断】,在【缺页中断】处理完后,进程将执行【被中断指令的那一条】指令

  • 在请求调页系统中,内存分配有【固定分配】和【可变分配】,【固定分配】的缺点是可能导致频繁地出现缺页中断而造成cpu利用率下降

  • 在请求调页系统中有着多种置换算法,1.选择最先进去内存的页面予以淘汰的算法称为【FIFO】;2.选择在以后不再使用的页面予以淘汰的算法【OPT】;3.选择自上次访问以来所经历时间最长的页面予以淘汰的算法【LRU】;4.选择自某时刻开始以来,访问次数最少的页面予以淘汰的算法【LFU】

  • 在页面置换算法中,存在belady现象的算法是【FIFO】,其中,belady现象是指【当分配到的内存块数增加时,缺页中断的次数有可能反而增加】

  • 在请求调页系统中,凡未装入过内存的页都应从【文件区】调入;已运行过的页主要是从【对换区】调入,有时也从【页面缓冲池】调入

  • 共有32个页面,每页1KB,主存为16KB,假定某时刻用户页表中已调入主存页面的虚页号和物理号对照表,则十六进制虚地址相应的物理地址的虚地址:0A5C~物理地址:125C;虚地址:1A5C~物理地址:页失效,虚拟存储器的功能由【软硬件结合】完成。在虚拟存储器系统中,采用【高速缓冲存储器】提高【动态地址翻译】的速度

  • 从下面关于请求分段存储管理的叙述中,选出一条正确的叙述

      分段的尺寸受内存空间的限制,且作业总的尺寸也受内存空间的限制【错】
      分段的尺寸受内存空间的限制,且作业总的尺寸不受内存空间的限制【对】
      分段的尺寸不受内存空间的限制,且作业总的尺寸不受内存空间的限制【错】
      分段的尺寸不受内存空间的限制,且作业总的尺寸受内存空间的限制【错】
    
  • 系统抖动是指【被调出的页面又立刻需要被调入所形成的频繁调入出的现象】,其产生的原因主要是【置换算法选择不当】

  • 在环保机构中,操作系统应处于【最高特权环】,一般应用程序应处于【最低特权环】内,并应遵循下属规则:1.一个程序可以访问驻留在【相同和较低特权环】中的数据;2.一个程序可以调用驻留在【相同或较高特权环】中的服务

  • 测得某个请求调页的计算机系统部分状态数据为:CPU利用率百分之20,用于对换空间的硬盘利用率百分之97.7,其他设备的利用率百分之5,由此断定系统出现异常,此种情况,【较少运行的进程数】或【加内存条,增加物理空间容量】能提高CPU的利用率

  • linux采用【请求分页】存储管理方式

  • Linux内核的页面分配程序采用【伙伴系统】算法进行页框的分配和回收

Part C

  • 在请求调页系统中,地址变换过程可能会因为【逻辑地址越界】,【缺页】,【访问权限错误】等原因而产生中断
  • 虚拟存储器的基本特征是【对换性】和【多次性】,因而决定了实现虚拟存储器的关键技术是【请求调页技术】和【页置换技术】
  • 实现虚拟存储器除了需要有一定容量的内存和相当容量的外存外,还需要有【页表机制】,【地址变换机构】,【缺页中断机构】的硬件支持
  • 为了实现请求分页管理,应在纯分页的页表基础上增加【访问位】,【修改位】,【状态位】,【外存地址】等数据项
  • 在请求调页系统中要采用多种置换算法,其中opt是【最佳置换算法】,lru是【最近最久未被使用算法】,而lfu是【最少使用算法】,pba是【页面缓冲算法】
  • Vax/Vms操作系统采用页面缓冲算法,它采用【FIFO】算法选择淘汰页,如果淘汰的页未被修改,则将它所在的物理块插入到【空闲页面】中,否则便将其插入【修改页面】中,它主要优点可以大大减少【换进换出而读写磁盘】次数
  • 在请求调页系统中,调页的策略有【请求调页策略】和【预调页策略】
  • 在请求调页系统中,反复进行页面换进和换出的现象称为【抖动】,它产生的主要原因是【置换算法选用不当】
  • 分页系统的内存保护通常有【越界检查】和【存取控制】措施
  • 分段系统中的越界检查是通过【段表寄存器】中存放的【段表长度】和逻辑地址中的【段号】的比较,以及段表项中的【段长】和逻辑地址中的【段内地址】的比较来实现的
  • 为实现段的共享,系统中应设置一张【共享段表】,每个被共享的段占其中的一个表项,其中应包含了被共享段的段名,【共享进程计数】,【段在内存的起始地址】,【段长】等数据项,另外还在该表项中记录了共享该段的【每个进程】的情况
  • 在分段系统中常用的存储保护措施有【越界检查】,【存取控制权限检查】,【环保护机构】三种方式
  • 在采用环保护机制时,一个程序可以访问驻留在【相同环或较低特权】环中的数据,可以调用驻留在【相同环或较高特权】环中的服务
  • Intel x86/Pentium系列CPU可采用【实模式】和【保护模式】两种工作方式
  • Intel x86/Pentium的分段机制,每个进程用于地址映射的段表也叫作【局部描述符表LDT】;另外,当进程运行在特权级别为0的核心态下时,它必须使用【全局描述符表GDT】来进行地址映射
  • Intel x86/Pentium的分页机制,采用【两】级分页模式,其外层页表也叫做【页目录】
  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值