- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2019年物理内存和虚拟内存指什么意思?
篇一:物理内存与虚拟内存
?
物理内存与虚拟内存
?
组装电脑,内存是大家比较关注的电脑硬件,如今内存的价格与容量都比较大,内存目前2G也仅100元左右,内存知识方面我们常听说的“虚拟内存”和“物理内存”是不能混为一谈的。下面我们主要从以下方面对电脑物理内存与虚拟内存之间的关系。
?
物理内存是真正的内存,在应用中顾名思义,物理上,真实的插在板子上的内存是多大就是多大了。看机器配置的时候,看的就是这个物理内存。
?
虚拟内存是为了满足系统对超出物理内存容量的需求时在外存(如硬盘)上开辟的存储空间。由于虚拟内存其实是放在外存上,因而与物理内存相比读写速度比较慢。那么虚拟内存有什么作用呢?
?
我们知道,32位CPU,有32根地址线,那么它的寻址空间就是4GB。也就是说,如果没有其它的限制,我们的主板上最大可以安装4GB的物理内存。但是一般的机器是不会装那么多物理内存,而有时软件应用时所需内存确大大超过了物理内存,这怎么办?总不能不用那些程序了吧。OS就提出了一个虚拟内存的概念。就是进程、用户、不必考虑实际上物理内存的限制,而直接对4GB的进程空间进行寻址。如果所寻址的数据实际上不在物理内存中,那就从“虚拟内存”中来获取。一般情况下,虚拟内存的大小,各个OS也进行了限制(比如linux的swap分区的大小,win下也可以调整虚拟内存文件的大小和位置)。所以,我们程序所能使用的存储空间大小就是:物理内存+虚拟内存
?
篇二:虚拟内存与物理内存的地址映射解析
?
在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一早期的内存分配机制
?
在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法:
?
某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程序B。这种分配方法可以保证程序A和程序B都能运行,但是这种简单的内存分配策略问题很多。
?
图一早期的内存分配方法
?
问题1:进程地址空间不隔离。由于程序都是直接访问物理内存,所以恶意程序可以随意修改别的进程的内存数据,以达到破坏的目的。有些非恶意的,但是有bug的程序也可能不小心修改了其它程序的内存数据,就会导致其它程序的运行出现异常。这种情况对用户来说是无法容忍的,因为用户希望使用计算机的时候,其中一个任务失败了,至少不能影响其它的任务。
?
问题2:内存使用效率低。在A和B都运行的情况下,如果用户又运行了程序C,而程序C需要20M大小的内存才能运行,而此时系统只剩下8M的空间可供使用,所以此时系统必须在已运行的程序中选择一个将该程序的数据暂时拷贝到硬盘上,释放出部分空间来
?
供程序C使用,然后再将程序C的数据全部装入内存中运行。可以想象得到,在这个过程中,有大量的数据在装入装出,导致效率十分低下。
?
问题3:程序运行的地址不确定。当内存中的剩余空间可以满足程序C的要求后,操作系统会在剩余空间中随机分配一段连续的20M大小的空间给程序C使用,因为是随机分配的,所以程序运行的地址是不确定的。
?
二分段
?
为了解决上述问题,人们想到了一种变通的方法,就是增加一个中间层,利用一种间接的地址访问方法访问物理内存。按照这种方法,程序中访问的内存地址不再是实际的物理内存地址,而是一个虚拟地址,然后由操作系统将这个虚拟地址映射到适当的物理内存地址上。这样,只要操作系统处理好虚拟地址到物理内存地址的映射,就可以保证不同的程序最终访问的内存地址位于不同的区域,彼此没有重叠,就可以达到内存地址空间隔离的效果。
?
当创建一个进程时,操作系统会为该进程分配一个4GB大小的虚拟进程地址空间。之所以是4GB,是因为在32位的操作系统中,一个指针长度是4字节,而4字节指针的寻址能力是从00xFFFFFFFF,最大值0xFFFFFFFF表示的即为4GB大小的容量。与虚拟地址空间相对的,还有一个物理地址空间,这个地址
?
空间对应的是真实的物理内存。如果你的
您可能关注的文档
最近下载
- 项目一 任务三 认识餐饮设备(课件)《餐饮服务与管理》(高教版第二版)同步课堂.pptx
- 16S122图集—水加热器选用及安装.pdf
- 第12课《短文二篇——记承天寺夜游》课件++2025-2026学年八年级语文统编版上册.pptx VIP
- 《中国心理学会临床咨询心理学工作伦理守则》考试题库及答案解析(共200题).docx VIP
- 《抗病毒药和抗寄生虫药》课件.ppt
- 翼科ES500系列专用伺服驱动器用户手册.pdf
- 高等职业技术学院辅导员工作手册.pdf VIP
- JBT 7361-2007 滚动轴承 零件硬度试验方法.docx VIP
- 小学生必背古诗75首80首!家长收藏必备,附带文档打印版.pdf VIP
- 入党积极分子培养考察表1.doc VIP
文档评论(0)