虚拟存储器练习题

1、什么是程序局部性原理?程序局部性主要体现在哪里方面?

程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。

局部性原理又体现为:时间局部性和空间局部性。

时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。

空间局部性是指一旦程序访问了某个存储单元,则不久之后其附近的存储单元也将被访问。

 

2. 什么是虚拟存储器?虚拟存储区有什么特征?

虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和来决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。  

虚拟存储器具有虚拟性、离散性、多次性及强对换性等特征,其中最重要的特征是虚拟性。

(1)虚拟性。虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际的内存容量,这是虚拟存储器所表现出的最重要的特征,也是虚拟存储器最重要的目标。

(2) 离散性。离散性是指内存分配时采用离散分配的方式,没有离散性就不可能实现虚拟存储器。采用连续分配方式,需要将作业装入到连续的内存区域,这样需要连续地一次性申请一部分内存空间,以便将整个作业先后多次装入内存。如果仍然采用连续装入的方式,则无法实现虚拟存储功能,只有采用离散分配方式,才能为它申请内存空间,以避免浪费内存空间。

(3) 多次性。多次性是指一个作业被分成多次调入内存运行。作业在运行时,只将当前运行的那部分程序和数据装入内存,以后再陆续从外存将需要的部分调入内存。

(4) 对换性。对换性是指允许在作业运行过程中换进换出。允许将暂时不用的程序和数据从内存调至外存的对换区,以后需要时再从外存调入到内存。

 

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

页表应包括:页号、物理块号、状态位P、访问字段A、修改位M和外存地址。

其中状态位P 指示该页是否调入内存,供程序访问时参考;

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

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

外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。

 

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

(1)系统拥有足够对换区空间时,可以全部从对换区调入所需页面,提高调页速度。在进程运行前将与该进程有关的文件从文件区拷贝到对换区。 

(2)系统缺少足够对换区空间时,不被修改的文件直接从文件区调入;当换出这些页面时,未被修改的不必换出,再调入时,仍从文件区直接调入。对于可能修改的,在换出时便调到对换区,以后需要时再从对换区调入。 

(3)UNIX 方式。未运行页面从文件区调入。曾经运行过但被换出页面,下次从对换区调入。UNIX 系统允许页面共享,某进程请求的页面有可能已调入内存,直接使用不再调入。

 

5.   简述产生“抖动”的原因以及“抖动”的预防方法。

产生“抖动”的原因是当内存中已无可分配空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入。由于CPU的利用率和多道程序度的对立统一矛盾关系,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于"抖动"状态。

预防方法:

采取局部置换策略。  仅允许进程在自身范围内进行置换。即使发生抖动,也可以把影响限制在较小范围内。

在处理机调度中引入工作集策略。  操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果所有工作集之和增加到超过了可用物理块的总数,操作系统会暂停一个进程,将其页面调出并且将其物理块分配给其他进程,防止出现抖动现象。

用 L=S 准则调节缺页率。   L:缺页之间的平均时间。S:平均缺页服务时间; L 大于 S,很少缺页,磁盘能力没有被充分利用;L 小于 S,频繁缺页,超过磁盘的处理能力。

调整并发程序度,使得 L 与 S 接近。这种情况下,磁盘和处理机到可以达到最佳利用率。一种类似的策略称为“50% 准则”策略:让磁盘保持50% 的利用率,这时 CPU 也达到最高的利用率。

挂起若干进程。  当多道程序度偏高,已影响到处理机的利用率时,为了防止发生抖动,系统必须减少多道程序的数目。把某些低优先级的进程挂起,从而腾出内存空间。

 

6.  在一个请求分页虚拟存储系统中,用户编程空间32个页,页长1KB,内存空间16KB。如果应用程序有10页长,若已知逻辑地址页号0,1,2,3已分得物理块4,7,8,10,试把虚拟地址0AC5H、1AC5H转换为物理地址。

0A5C 转换为二进制: 0000 1010 0101 1100 

因为页的大小为1K,所以后10位为页内偏移,取前面的0000 10对应2 (十进制),也就是第2页,对应物理地址第8块,将0000 10替换为0010 00 ,再加上后面的十位地址保持不变,也就得到物理地址22C5H。

1AC5H转换为二进制: 0001 1010 1100 0101

因为页的大小为1K,所以后10位为页内偏移,取前面的0001 10对应6 (十进制),也就是第6页,没有对应的物理块,说明越界了,也就没有对应的物理地址。

 

7、在一个请求分页系统中,假如一个作业的页面走向是2,3,2,1,5,2,4,5,3,2,5,2。目前没有任何页面装入内存,当分配给该作业的物理块数为3时,请分别计算采用OPT算法、FIFO算法、LRU算法、CLOCK算法时,访问过程中所发生的缺页次数和缺页率。

OPT( 最佳置换 )

替换未来最久不会用到的物理块

  • 11
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值