虚拟内存与虚拟存储器的区别

  • 背景
  • 虚拟内存
  • 虚拟存储器

背景

在面试的时候经常会谈及虚拟存储器和虚拟内存,但好像对于虚拟内存和虚拟存储器这两个词语的定义,使用有些混淆,然后在查阅了一些后做了一些总结。

虚拟内存

这里说的虚拟内存其实更确切的说是windows下的虚拟内存,windows下的虚拟内存其实是借用磁盘空间假装它是内存,当应用访问虚拟内存地址的时候,如果内存管理器发现对应的物理地址在磁盘中,那内存管理器就会将这部分信息从磁盘中加载回内存中。

虚拟存储器

虚拟存储器说起来更像是一种机制,这种机制,有的书称为虚拟内存,有的书称为虚拟存储器,但是这不重要,重要的是其中的原理、核心。
下面这段话来自《深入理解计算机系统》

虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核文件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟内存提供了三个重要的能力:1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效地使用了主存。2)它为每个进程提供了一致的地址空间,从而简化了内存管理。3)它保护了每个进程的地址空间不被其他进程破坏。

下面是维基百科上的定义

虚拟内存是计算机系统内存管理的一种技术。 它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上物理内存通常被分隔成多个内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

综上所述,其实windows下的虚拟内存可以说是借用磁盘空间进行扩充,而虚拟存储器更偏向于概念方面:怎么去存储进程里相关的地址,允许执行进程不必完全在内存中,缺失则从物理内存中找然后载入。(如果有大佬觉得我的说法不太准确,谢谢大佬的指正orz)

虚拟内存与虚拟存储器的区别相关推荐

  1. 虚拟内存与物理内存的区别,

    第一层理解 1.每个进程都有自己独立的4G(32位系统下)内存空间,各个进程的内存空间具有类似的结构 2.一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间 ...

  2. 教你识别:虚拟内存和物理内存的区别

    windows任务管理器中"性能"栏下各名词含义的简要说明任务管理器中"性能"各图表主要反映的是系统CPU和内存的使用,通过这些参数对有助于了解系统运行状况,并 ...

  3. 笔记②:牛客校招冲刺集训营---C++工程师(面向对象(友元、运算符重载、继承、多态) -- 内存管理 -- 名称空间、模板(类模板/函数模板) -- STL)

    0618 C++工程师 第5章 高频考点与真题精讲 5.1 指针 & 5.2 函数 5.3 面向对象(和5.4.5.5共三次直播课) 5.3.1 - 5.3.11 5.3.12-14 友元 友 ...

  4. 物理内存和虚拟内存的区别(浅析)

    首先,我们先简单理解一下而这之间概念区别: 物理内存: 值通过物理内存条而获得的内存空间,是计算机上最重要的资源之一,从本质来说,物理内存是代码和数据在其中运行的窗口,物理内存是和cpu实现交互的重要 ...

  5. 【Why】物理内存与虚拟内存区别与联系

    前一段时间在面试总监的时候,总监问了我这样的一个问题:你个我说说物理内存和虚拟内存到底是怎么一回事? 其实之前我看过这个问题,据我理解的,当时是这么回答的"进程在运行的时候,操作系统都为其分 ...

  6. 服务器虚拟内存最佳设置范围,Windows2003服务器虚拟内存怎么设置最好?

    *截止2021年7月30日 19:10,共有17068人阅读了本文. 土株W 圝 圞⒆ ⒇∵ 土株W 圝 圞⒆ ⒇∵ 虚拟内存怎么设置最好? - Windows2003服务器虚拟内存如何设置比较好? ...

  7. 虚拟内存管理加拓展(全网最细)

    写在前面:我是[程序员宝藏]的宝藏派发员,致力于创作原创干货.我热爱技术.热爱开源与分享,创作的[计算机基础面试问题]系列文章和[计算机基础主干知识]系列文章广受好评!后期会创作更多优质原创系列文章! ...

  8. Linux 操作系统原理 — 内存 — 物理存储器与虚拟存储器

    目录 文章目录 目录 Linux 内存管理全貌 物理存储器 虚拟存储器 Linux 内存管理全貌 物理存储器 见<计算机组成原理 - 存储系统>. 虚拟存储器 在早期的计算机系统中,程序员 ...

  9. 地址空间和虚拟内存(转载)http://topic.csdn.net/u/20090619/10/4c62a13b-536b-4b0a-af09-2271c6a104e1.html...

    我对于虚拟地址空间和虚拟内存的理解:32位的CPU中,一个进程都有个4G的虚拟地址空间:虚拟内存是存在于硬盘上的页交换文件. 前段时间听了一个报告,报告人竟然一再强调说MMU管理的是虚拟内存,个人认为 ...

最新文章

  1. python 大量网络请求_大规模异步新闻爬虫之网络请求函数的优化
  2. C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串。
  3. Objective-C 文件夹操作
  4. 聊聊JVM(十)Mac下hsdis和jitwatch下载和使用
  5. C mysql批量写入_使用JDBC在MySQL数据库中快速批量插入数据
  6. linux tty core code,linux tty core 源码分析(7)
  7. chrome前端开发工具_精通Chrome开发人员工具:更高级别的前端开发技术
  8. P102、面试题14:调整数组顺序使奇数位于偶数前面
  9. FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级!
  10. x86汇编指令集大全注释(二)
  11. 仿淘宝首页产品分类菜单栏的设计
  12. 西门子S7-200 SMART编程软件下载
  13. 开源BI工具 - Superset
  14. mc服务器fabric安装位置,也许这是史上最详细的Fabric安装教程,助你在1.14/1.15安装mod...
  15. Vulnhub靶机系列:SecTalks: BNE0x03 - Simple
  16. 六种常见的平面设计构图技巧
  17. 2023最新猕猴桃影视系统源码/影视APP源码+安卓/苹果双端
  18. SAP UI5 Simple Form 属性 columnsL,columnsM,columnsXL 的属性深入剖析试读版
  19. 关于高频信号PCB挖空
  20. android studio manifest merger failed,Android Studio报错Manifest merger failed with multiple errors...

热门文章

  1. 如何在电脑上运行war包
  2. A,B,C类的IP地址详细介绍
  3. AIRSIM 中文使用手册-2021/4/6
  4. centos怎么用命令关机_CentOS关机命令
  5. Hive 自定义UDF函数讲解
  6. 查询2021高考成绩广西排名,2021广西高考成绩排名顺序查询,广西省高考全省排名怎么查...
  7. 理解卷积神经网络中的权值共享
  8. Fortran语法汇总(上)
  9. mysql数据库性能优化—my.cnf详解
  10. java vbs_一键定位配置JAVA SDK 环境变量 VBS脚本全自动操作正式开源