【计算机操作系统】虚拟内存的基本概念

2024-08-24 03:52

本文主要是介绍【计算机操作系统】虚拟内存的基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 虚拟内存的基本概念
    • 传统存储管理方式的特征&缺点
    • 局部性原理
    • 虚拟内存的定义和特征
      • 虚拟内存的定义
      • 虚拟内存的特征
    • 虚拟内存技术的实现

虚拟内存的基本概念

前面已经介绍过内存管理相关的重点,传统存储管理方式、覆盖与交换技术、地址转换和存储保护在之前都有介绍过,本节重点介绍虚拟存储技术

在这里插入图片描述

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

  • 一次性作业必须一次性全部装入内存后才能开始运行

    这会造成两个问题:
    ① 作业很大时,不能全部装入内存,导致大作业无法运行
    ② 当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降

  • 驻留性:一旦作业被装入内存,作业就会一直驻留在内存中,直至作业运行结束

    事实上,在一个时间段内,只需要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数据,浪费了宝贵的内存资源

以上问题都可以使用虚拟存储技术来解决

局部性原理

要真正理解虚拟内存技术的思想,首先须了解著名的局部性原理
从广义上讲,快表、页高速缓存及虚拟内存技术都属于高速缓存技术,这个技术所依赖的原理就是局部性原理

局部性原理表现在以下两个方面:

  • 时间局部性

    程序中的某条指令一旦执行,不久后该指令可能再次执行
    某数据被访问过,不久后该数据可能再次被访问
    产生的原因是程序中存在着大量的循环操作

  • 空间局部性

    一旦程序访问了某个存储单元,在不久后,其附近的存储单元也将被访问即程序在一段时间内所访问的地址,可能集中在一定的范围之内(因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的)

时间局部性通过将近来使用的指令和数据保存到高速缓存中,并使用高速缓存的层次结构实现
空间局部性通常使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现
虚拟内存技术实际上建立了 “内存 —— 外存” 的两级存储器结构,利用局部性原理实现高速缓存

虚拟内存的定义和特征

虚拟内存的定义

在这里插入图片描述

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

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

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

在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存(操作系统虚拟性的一个体现,实际的物理内存大小没有变,只是在逻辑上进行了扩充)

虚拟内存的特征

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

虚拟内存技术的实现

虚拟内存技术允许将一个作业分多次调入内存。采用连续分配方式时,会使相当一部分内存空间都处于暂时或 "永久” 的空闲状态,造成内存资源的严重浪费,而且也无法从逻辑上扩大内存容量,因此虚拟内存的实现需要建立在离散分配(非连续分配)的内存管理方式的基础上

虚拟内存的实现有以下三种方式:

  1. 请求分页存储管理
  2. 请求分段存储管理
  3. 请求段页式存储管理

传统的非连续性分配存储管理方式和虚拟内存的存储管理方式的主要区别如下:
在程序执行过程中,当所访问的信息不在内存时由操作系统负责将所需信息从外存调入内存,然后继续执行程序(操作系统要提供请求调页 (或请求调段) 功能)
若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存 (操作系统要提供页面置换(或段置换)的功能)


【计算机操作系统】 专栏的文章 均有参考 《王道计算机考研 操作系统》 课程视频

这篇关于【计算机操作系统】虚拟内存的基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101371

相关文章

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

【Rocketmq入门-基本概念】

Rocketmq入门-基本概念 名词解释名称服务器(NameServer)消息队列(Message Queue)主题(Topic)标签(Tag)生产者(Producer)消费者(Consumer)拉取模式(Pull)推送模式(Push)消息模型(Message Model) 关键组件Broker消息存储工作流程 名词解释 名称服务器(NameServer) 定义: 名称服务器

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.