内存管理 虚拟存储概述

目录

https://blog.csdn.net/weixin_45792450/article/details/109314765


局部性原理

虚拟存储技术的实现依赖于局部性原理,即进程往往会不均匀地高度局部性地访问内存。局部性原理表现在时间局部性空间局部性

时间局部性

如果程序中的某条指令一旦被执行,不久以后该指令很可能会被再次执行;如果某数据被访问过,不久以后该数据很可能会被再次访问。

产生时间局部性原理的典型原因,是由于程序中存在大量的循环操作或者重要函数模块的重复调用。

空间局部性原理

一旦访问了某个程序单元,不久以后其附近的存储单元很可能会被访问,即程序在一段时间访问的地址,可能集中在一定范围之内。

产生空间局部性原理的典型原因,是由于指令和数据在存放的时候,一般是在一定范围聚集或者顺序存放,加上程序执行时,指令一般顺序执行,访问的数据很多是顺序遍历。


虚拟存储技术


虚拟页式管理

虚拟内存的实现方式有三种方式:请求分页存储管理请求分段存储管理请求段页式存储管理

请求分页存储管理又称虚拟页式管理,其建立在基本分页存储管理系统之上,增加了请求调页页面置换功能。

请求分页管理在进程开始运行之前,不是装入全部页面,而是装入一部分初始需要的页面,之后再根据进程的需要,动态地装入其他页面,此为请求调页功能

当内存空间紧张时,根据特定算法将部分不太需要的页面调出内存,再将需要的页面置换进来,此为页面置换功能

虚拟页式管理需要的软硬件支持:一定容量的内存以及外存的计算机系统,页表机制,缺页中断机构,地址变换机构。


虚拟页式管理的请求调页

在虚拟分页管理中,由于页面不是一次性调入内存,所以需要在页表项中标记此种信息,为此需要增加四个字段:

  • 状态位P:用于指示该页是否调入内存,供程序访问时参考
  • 访问字段A:用于记录访问次数或多久未被访问,由页面置换算法决定和参考
  • 修改位M:标识该页在调入内存后是否被修改
  • 外存地址:用于指出该页的外存地址

如果进程在运行中发生缺页现象,需要进入缺页中断机构进行处理,请求操作系统将所缺页面调入内存。此时进程被阻塞,等待调页完成时的唤醒。

缺页中断与一般中断有两个明显区别:

  1. 缺页中断在指令执行期间产生和处理中断信号,而非一条指令执行完成后,属于内中断
  2. 一条指令执行期间,可能产生多次缺页中断
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦星辰.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值