我是靠谱客的博主 清新火车,最近开发中收集的这篇文章主要介绍虚拟内存与虚拟存储的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

虚拟内存:

  1.桌面版windows上经常要设置虚拟内存,尤其是实际内存很小时;设置虚拟内存后,计算机可以运行比实际内存更大的软件;

  这个虚拟内存技术,其实主要就是换页技术;将外部存储空间的一部分用来存放内存中暂时不用的东西,就好像它是内存一样,要的时候再把它调进内存,也就是所谓的虚拟了;桌面版windows可以设置这块虚拟内存的位置(位于哪个盘下),及大小,它对应的有一个文件pagefile.sys;

  2.虚拟存储技术(虚拟内存技术,这个虚拟内存完全不同于上面所说的虚拟内存),就是程序员在编写程序时使用的地址都从0开始,到运行程序时再进行重定位;常将这个从0开始的地址空间,叫虚拟存储空间(有人也叫虚拟内存空间);这样做有一个极大的好处:程序员不用管它写的程序最后会被放到内存的什么地方执行。

  这个虚拟操作系统的支持,当然更虚拟CPU硬件的支持,像8051单片机好像就不支持这个,像S3C2410这样的arm芯片就支持;这个硬件就是MMU(内存管理单元)

  3.不要提到虚拟内存或虚拟存储,就以为计算机可以运行比程序实际需要的内存大的程序;这种想法肯定是错误的。很多的嵌入式系统,比如windows mobile手机它支持2G的虚拟存储空间,但不支持换页技术,这就表示它不能运行超过它实际可用内存大小的软件;因为这里说的2G只是程序员可用的地址空间,它并不能把当前运行程序的一部分放置到外存上,它必须完全满足运行的程序需要的内存才能运行这个程序;当然如果windows mobile手机配置了超过2G的内存,它当然可以运行这样的大程序了。

  实际上它们的英语单词好像是一样的。但意思不一样。一个就是指虚拟出的内存;一个表示一个技术,这个技术需要MMU和操作系统的支持。

最后

以上就是清新火车为你收集整理的虚拟内存与虚拟存储的区别的全部内容,希望文章能够帮你解决虚拟内存与虚拟存储的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部