操作系统:10、存储管理之虚拟内存

1、虚拟内存概述

为什么要使用虚拟内存?

  • 有些进程实际需要内存很大,远超物理内存容量
  • 由于操作系统的多道程序设计,使得每个进程可用物理内存更加稀缺
  • 不可能无限增加物理内存,物理内存总有不够的时候

虚拟内存是操作系统内存管理的关键技术,使得多道程序运行和大程序运行成为现实,把程序使用内存划分,将部分暂时不使用的内存放置在辅存。
在这里插入图片描述

2、程序局部性原理

CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单页都趋于聚集在一个较小的连续区域中

局部性原理是使得虚拟内存技术可以实现的一个原因。
因为有局部性原理,所以程序运行时,无需全部装入内存,装载部分即可;如果访问页不在内存中,则发出缺页中断,发起页面置换;从用户层面看,程序拥有很大的空间,即是虚拟内存。

虚拟内存实际上是对物理内存的扩充,使得速度接近内存,成本接近辅存。

3、虚拟内存置换算法

置换算法主要有下面几种:

  • 先进先出算法(FIFO)
  • 最不经常使用算法(LFU)
  • 最近最少使用算法(LRU)

数据替换

在这里插入图片描述

高速缓存的替换时机:
在这里插入图片描述

主存页面替换时机:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值