虚拟内存

虚拟内存


存储器的层次结构:

在这里插入图片描述
覆盖技术:
在这里插入图片描述
一个程序的不同部分在不同的时刻共享同一块内存区域。什么时候换入换出是由常驻内存的代码段决定的。

例子:
在这里插入图片描述
左边的是程序的调用关系,A会调用B,B调用D,A也可以调用C,C可以调用E,F。A就属于常驻内存的部分,BC属于可选的部分,DEF属于不存在调用关系的模块。

当然还有另一种覆盖方法:
在这里插入图片描述
交换技术:
在这里插入图片描述
交换技术解决中的几个问题:
在这里插入图片描述

覆盖技术与交换技术的比较:
在这里插入图片描述
虚存技术:
在这里插入图片描述
虚存技术是通过操作系统和MMU(内存管理单元)来实现内存的管理,并且降低了换入换出的粒度,以段或者页为单位,如上图。

程序的局部性能够提升虚存的效率:
在这里插入图片描述
详细列子:
在这里插入图片描述
在这里插入图片描述
虚拟技术的特征:
覆盖技术和交换技术的内存使用都是连续的。
在这里插入图片描述
虚拟页式内存管理:
在这里插入图片描述
在这里插入图片描述

修改位补充解释:当该页需要换出是,如该页未修改说明说明内存中和磁盘中的内容是一致的,就无需写回,可直接释放。

小例子:
在这里插入图片描述

X表示驻留位为0,不在内存中,访问这些页面里面的内容会触发缺页中断,首先mov reg 0表示逻辑地址0里面的内容读到寄存器中,逻辑地址映射到物理地址就是8192,mov reg 32780在逻辑地址属于第8页,不在内存中,就会触发缺页中断。

缺页中断的处理过程:在这里插入图片描述

优先页面置换算法:

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

例子:
在这里插入图片描述
先进先出算法:
在这里插入图片描述
最近最久未使用:
在这里插入图片描述
LRU算法的实现方式:
在这里插入图片描述
时钟页面置换算法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当产生第一次产生中断时页表中所有的used bit都为1,然后轮训一遍都为0,并且指向a,所以a就被换出了。

二次机会法:
在这里插入图片描述
首先所有的page会被串成环形链表,如果指针当前指向的used位和dirty位都0,则被替换出去,如果为01和将1变为0,如果为10则将1变为0,如果为11则变为01,然后指针移动到下一个page,知道指针指向00,将该页换出。
在这里插入图片描述
最不常用算法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
工作集:
在这里插入图片描述
例子:
在这里插入图片描述
常驻集:
在这里插入图片描述
两个全局置换算法:
工作集页置换算法:
在这里插入图片描述
0时刻pagea t=0表示0时刻访问a,paged t = -1表示-1时刻访问,pagee t = -2表示-2时刻访问e,前4次没有访问的页面就会从工作集中替换出去,该物理页空出来后就可以给其他页面使用。过程如上图

在这里插入图片描述
算法:
在这里插入图片描述
例子:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值