虚拟内存

一 局部性原理

(1) 时间局部性:
如果程序中的某条指令被执行,不久以后该指令可能再次被执行。
(2) 空间局限性:
一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问。

二 虚拟内存特征

每个进程都有自己的虚拟地址空间。
虚拟内存技术的核心就是利用了局部性原理,把所要运行的进程中的数据不全部加载到内存中执行,而是加载一部分。

三 虚拟内存技术的实现

https://blog.csdn.net/github_37129174/article/details/78686830

1 分页技术实现虚拟内存管理

虚拟地址空间按照固定大小划分成叫做页面的若干单元。
在任意时刻,虚拟页面的集合都分为三个不相交的子集:

未分配的:VM系统还未分配(或者创建)的页。未分配的块没有任何数据和它们相关联,因此也就不占用任何磁盘空间。
缓存的:当前缓存在物理存储器中的分配页。
未缓存的:没有缓存在物理存储器中的已分配页。
2 MMU

MMU(内存管理单元)(页表),负责把虚拟地址映射为物理内存地址,也就是把虚拟页映射为物理内存页。

从一个虚拟地址,映射到页表中的某一行记录,由此记录判断虚拟页映射的物理页,如果存在对应的物理页,可以得到该物理地址具体数值。如果没有存在对应的物理页,则发生缺页中断,需要从物理内存页中找到一个不经常使用的页,把它写到物理存储中,然后把这个虚拟页映射到这个物理内存页。

3 分页式系统存在的问题

(1) 虚拟地址到物理地址的映射必须非常快
使用一种硬件设备(转换检测缓冲区),包含少量的表项,可以把一部分虚拟地址直接映射到物理内存地址,不需要再使用页表。
(2)针对大的内存,建立多级页表。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值