关于虚拟内存(未完)

1. 虚拟存储的需求背景

  • 计算机系统经常出现内存不够用

内存不够用常常是由操作系统内部多进程,多线程并发下提高的导致的情况,为了解决内存不够用的情况,有一下三种方法可以避免。

覆盖:应用程序手动把需要的指令和数据保存在内存中。比如我的代码在内存中存储不下了,我可以根据代码之间的逻辑关系分块,将他们复用到一块区域来,但当你要用时,在放到内存中。

缺点:应用开发难,调用关系复杂

交换:操作系统自动把暂时不能执行的程序保存到外存中。

缺点:每次都是将一个进程移除到外存,导致时间开销,空间开销很大。

虚拟存储:在有限的内存中,以页为单位,自动装入更多更大的程序,与前面两种方法相比,更自动,空间和容量也更大,

2 虚拟存储的基本概念

  • 思路
    将不常用的内存块暂存到外存

  • 原理

    • 装载程序时,只将当前指令需要的部分页面或段装入内存。
      原来时程序全部装在内存,及其浪费空间,采用这种方式,减轻了内存负担

    • 指令执行时,需要的指令和数据不在内存中时(称为缺页或缺段),处理器通知操作系统将相应的页面载入内存,

    • 操作系统将暂时不用的的页面或段保存到外存。具体那些是闲置内存块,需要用置换算法得出,后面会解释。如果只进不出,那么,内存迟早会被装满,负担不起程序的空间开销。虚拟内存管理也就意义不大。
      这种需要什么,装在什么,将当前闲置内存块加载到外存,既加快了指令执行速度,又扩大了内存的使用。
  • 实现方式

    • 虚拟页式存储
    • 虚拟页式存储
  • 技术支持

    硬件:提供页面或短时存储中的地址转换机制,

    操作系统:管理内存和外存见页面和段的换入和换出,具体装谁,又操作系统决定

  • 虚拟内存特点:

    1 不连续
    物理内存分配非连续
    虚拟地址空间非连续

    2 大用户空间
    提供给用户的虚拟内存可大于实际物理内存

    3 部分交换
    虚拟存储只对部分虚拟地址进行调入调出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值