虚拟内存-分页管理

虚拟内存
虚拟存储器及其特征

由操作系统提供的一个假想的特大存储器,是操作系统采用内外村交换技术在逻辑上提供对内存的扩充。

  • 离散型(最基本特征):内存分配采用离散分配方式
  • 虚拟性(最重要特征):虚存式从逻辑上扩充容量,使用户变成所用到的地址空间远大于实际的内存容量
  • 多次性:多次性是指内存不是一次性装入内存,而是被分为若干部分,分多次调入内存
  • 对换性:是指系统允许进程的部分在运行过程中换入内存或者换出到对换区。对换过程在进程运行期间可发生多次。
虚存基于局部性原理:时间局部性和空间局部性(顺序局部性)
请求分页管理费方式:请求分页系统:基本分页系统+请求调页功能+页面置换算法
最佳置换算法OPT

内存中选择未来永远不再需要的页面或者需要最长的时间才去访问的页面予以淘汰(缺页率最低)

例:假设系统为某进程分配了3个物理块,考虑页面走向为:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

12342156212376321236
块11111111111177333333
块2222222222222222222
块334445666666661111
缺页否vvvvvvvvvvv

缺页中断次数11次,页面置换次数8次,缺页率11/20=55%,命中率100-55=45%

最久未用算法LRU

置换最久未使用物理块

先进先出置换算法FIFO

把内存中驻留时间最长的淘汰

12342156212376321236
块111144446666333322226
块22222111222277771111
块3333355511116666633
缺页否vvvvvvvvvvvvvvvv
请求分页管理方式中的有效时间计算法
graph TB
A[开始]-->B[查快表]
B[查快表e]-->C{在快表内?}
C-->|命中a|D[形成物理地址访问内存t]
D-->结束
C-->|未命中1-a|E[查找页表t]
E-->F{在页表中吗?}
F-->|在f|G[修改快表e]
G-->D
F-->|不在1-f|H[产生缺页中断调入内存t1]
H-->B

EAT=e+at+(1-e)[t+f(t1+e+t)+(1-f)(e+t)]
页面置换时间可能会分为修改和不修改

时钟置换算法

若循环列表存在当前访问页时将访问页改为1,指针P不移动,否则若当前指针指向页面的访问位为0则淘汰该页,调入新页将访问位改为1,指针P移到下一个物理块,若当前P指针指向页面的访问位为1,则改为0,P移到下一个物理块

  • 空位写入丙改标识位为1,P后移
  • 非空且存在访问页则改其标识位为1,P不动
  • 非空且不存在则检查P所在访问页标识位,若为1则改成0P后移,若为0则覆盖后改为1P后移

例题:假设系统为某进程分配了3个物理块,考虑页面走向:7,0,1,2,0,3,0,4

访问页面初始701203304
物理块0P 07 17 1P712 12 1P21P214 1
物理块10P 00 10 1p00p010 00 1p00
物理块200P 01 11 01 03 13 13 0
缺页否vvvvvV
Belady现象

缺页率会随着分配的物理块数增加而增加(FIFO算法可能会出现123412512345)

抖动现象

系统不断出现缺页中断,反复出现页面置换和页面调入的现象

静态重定位

地址变换通畅是在装入内存时一次完成的

动态重定位

装入程序再把装入模块装入内存后,并不立即把装入模块的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。(需要重定位寄存器支持)

一些问答

虚拟存储器的最大容量是由计算机的地址结构决定的,可以运行大于实际内存大小的作业。

虚拟技术是以时间换空间的技术

请求分页存储管理方式和基本分页存储管理方式的区别:

  • 不必将作业全部装入内存。
  • 前者是虚拟存储器采用技术,后者不是

处理器有32位地址,则虚拟地址空间为4GB字节

2^{32}=2^{30}x2^2=4GB

2^{10}KB 

2^{20}MB 

2^{30}GB

给定页大小和十六进制地址时可用二进制(4B=16位字符)换算前几位则是页号后几页大小位数是存储内容

求物理地址也可以只把前几位2进制数字页号换了即可,页偏移部分不变

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值