虚拟内存与虚拟存储器的区别
虚拟内存与虚拟存储器的区别
- 背景
- 虚拟内存
- 虚拟存储器
背景
在面试的时候经常会谈及虚拟存储器和虚拟内存,但好像对于虚拟内存和虚拟存储器这两个词语的定义,使用有些混淆,然后在查阅了一些后做了一些总结。
虚拟内存
这里说的虚拟内存其实更确切的说是windows下的虚拟内存,windows下的虚拟内存其实是借用磁盘空间假装它是内存,当应用访问虚拟内存地址的时候,如果内存管理器发现对应的物理地址在磁盘中,那内存管理器就会将这部分信息从磁盘中加载回内存中。
虚拟存储器
虚拟存储器说起来更像是一种机制,这种机制,有的书称为虚拟内存,有的书称为虚拟存储器,但是这不重要,重要的是其中的原理、核心。
下面这段话来自《深入理解计算机系统》
虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核文件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟内存提供了三个重要的能力:1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效地使用了主存。2)它为每个进程提供了一致的地址空间,从而简化了内存管理。3)它保护了每个进程的地址空间不被其他进程破坏。
下面是维基百科上的定义
虚拟内存是计算机系统内存管理的一种技术。 它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上物理内存通常被分隔成多个内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
综上所述,其实windows下的虚拟内存可以说是借用磁盘空间进行扩充,而虚拟存储器更偏向于概念方面:怎么去存储进程里相关的地址,允许执行进程不必完全在内存中,缺失则从物理内存中找然后载入。(如果有大佬觉得我的说法不太准确,谢谢大佬的指正orz)
虚拟内存与虚拟存储器的区别相关推荐
- 虚拟内存与物理内存的区别,
第一层理解 1.每个进程都有自己独立的4G(32位系统下)内存空间,各个进程的内存空间具有类似的结构 2.一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间 ...
- 教你识别:虚拟内存和物理内存的区别
windows任务管理器中"性能"栏下各名词含义的简要说明任务管理器中"性能"各图表主要反映的是系统CPU和内存的使用,通过这些参数对有助于了解系统运行状况,并 ...
- 笔记②:牛客校招冲刺集训营---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 友元 友 ...
- 物理内存和虚拟内存的区别(浅析)
首先,我们先简单理解一下而这之间概念区别: 物理内存: 值通过物理内存条而获得的内存空间,是计算机上最重要的资源之一,从本质来说,物理内存是代码和数据在其中运行的窗口,物理内存是和cpu实现交互的重要 ...
- 【Why】物理内存与虚拟内存区别与联系
前一段时间在面试总监的时候,总监问了我这样的一个问题:你个我说说物理内存和虚拟内存到底是怎么一回事? 其实之前我看过这个问题,据我理解的,当时是这么回答的"进程在运行的时候,操作系统都为其分 ...
- 服务器虚拟内存最佳设置范围,Windows2003服务器虚拟内存怎么设置最好?
*截止2021年7月30日 19:10,共有17068人阅读了本文. 土株W 圝 圞⒆ ⒇∵ 土株W 圝 圞⒆ ⒇∵ 虚拟内存怎么设置最好? - Windows2003服务器虚拟内存如何设置比较好? ...
- 虚拟内存管理加拓展(全网最细)
写在前面:我是[程序员宝藏]的宝藏派发员,致力于创作原创干货.我热爱技术.热爱开源与分享,创作的[计算机基础面试问题]系列文章和[计算机基础主干知识]系列文章广受好评!后期会创作更多优质原创系列文章! ...
- Linux 操作系统原理 — 内存 — 物理存储器与虚拟存储器
目录 文章目录 目录 Linux 内存管理全貌 物理存储器 虚拟存储器 Linux 内存管理全貌 物理存储器 见<计算机组成原理 - 存储系统>. 虚拟存储器 在早期的计算机系统中,程序员 ...
- 地址空间和虚拟内存(转载)http://topic.csdn.net/u/20090619/10/4c62a13b-536b-4b0a-af09-2271c6a104e1.html...
我对于虚拟地址空间和虚拟内存的理解:32位的CPU中,一个进程都有个4G的虚拟地址空间:虚拟内存是存在于硬盘上的页交换文件. 前段时间听了一个报告,报告人竟然一再强调说MMU管理的是虚拟内存,个人认为 ...
最新文章
- python 大量网络请求_大规模异步新闻爬虫之网络请求函数的优化
- C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串。
- Objective-C 文件夹操作
- 聊聊JVM(十)Mac下hsdis和jitwatch下载和使用
- C mysql批量写入_使用JDBC在MySQL数据库中快速批量插入数据
- linux tty core code,linux tty core 源码分析(7)
- chrome前端开发工具_精通Chrome开发人员工具:更高级别的前端开发技术
- P102、面试题14:调整数组顺序使奇数位于偶数前面
- FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级!
- x86汇编指令集大全注释(二)
- 仿淘宝首页产品分类菜单栏的设计
- 西门子S7-200 SMART编程软件下载
- 开源BI工具 - Superset
- mc服务器fabric安装位置,也许这是史上最详细的Fabric安装教程,助你在1.14/1.15安装mod...
- Vulnhub靶机系列:SecTalks: BNE0x03 - Simple
- 六种常见的平面设计构图技巧
- 2023最新猕猴桃影视系统源码/影视APP源码+安卓/苹果双端
- SAP UI5 Simple Form 属性 columnsL,columnsM,columnsXL 的属性深入剖析试读版
- 关于高频信号PCB挖空
- android studio manifest merger failed,Android Studio报错Manifest merger failed with multiple errors...
热门文章
- 如何在电脑上运行war包
- A,B,C类的IP地址详细介绍
- AIRSIM 中文使用手册-2021/4/6
- centos怎么用命令关机_CentOS关机命令
- Hive 自定义UDF函数讲解
- 查询2021高考成绩广西排名,2021广西高考成绩排名顺序查询,广西省高考全省排名怎么查...
- 理解卷积神经网络中的权值共享
- Fortran语法汇总(上)
- mysql数据库性能优化—my.cnf详解
- java vbs_一键定位配置JAVA SDK 环境变量 VBS脚本全自动操作正式开源