虚拟内存的基本概念

虚拟内存的基本概念

image

image


一、传统存储管理方式的特征、缺点

image

  • 一次性: 作业必须一次性全部装入内存后才能开始运行。这会造成两个问题:
  1. 作业很大时,不能全部装入内存,导致大作业无法运行。
  2. 当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。
  • 驻留性: 一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束。事实上,在一个时间段内,只需要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数据,浪费了宝贵的内存资源。

——回顾:局部性原理:

  1. 时间局部性
  2. 空间局部性
  3. 高速缓存技术

二、虚拟内存的定义和特征

(一)定义

基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行。

在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。

若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。

在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存。

——理解:内存只有几G,但从用户的角度看来可以运行一个几十G的应用程序,仿佛就是把几十G完全装入到内存中,正是应用了虚拟内存技术。

(二)特征

  • 多次性: 无需在作业运行时一次性全部装入内存,而是允许被分成多次调入内存。
  • 对换性: 在作业运行时无需一直常驻内存,而是允许在作业运行过程中,将作业换入、换出。
  • 虚拟性: 从逻辑上扩充了内存的容量,使用户看到的内存容量,远大于实际的容量。

三、虚拟内存技术的实现

虚拟内存技术,允许一个作业分多次调入内存。如果采用连续分配方式,会不方便实现。因此,虚拟内存的实现需要建立在离散分配的内存管理方式基础上。

image

(与非连续分配存储管理一一对应)

posted @   Wind_730  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示