怎样设置虚拟内存(win104g内存最佳虚拟内存)
怎样设置虚拟内存(win10 4g内存最佳虚拟内存)传统存储管理存在的问题
虚拟内存这个东西他为什么会出现?他出现的背景是什么?
前文 内存管理两部曲之物理内存管理 提到:随着用户程序功能的增加,进程所需要的内存空间越来越大,进程空间很容易就突破了物理内存的实际大小,导致进程无法运行。
因此,为了解决内存不足的情况,缓和大程序与小内存之间的矛盾,扩充内存容量势在必行。
可以从物理和逻辑两方面来考虑扩充内存容量,物理扩容没啥技术含量,需要我们研究的自然是如何从逻辑上扩充内存容量。
所谓逻辑扩充,就是说实际上物理内存的容量没有发生改变,但是它能装的东西却变多了,使得用户看来似乎有一个比实际内存大得多的内存。
对内存的逻辑扩充技术主要有三种:覆盖技术、交换技术、以及虚拟内存(Virtual Memory),也称为虚拟存储器。事实上,这些逻辑扩充技术的核心理念都是一致的,研究的都是将哪个进程(或进程的某部分)暂时从内存移到外存(磁盘),以腾出内存空间供其他进程(或进程的某部分)占用。
覆盖(Overlay)和交换(Swapping)这两种存在于早期操作系统中的逻辑扩充技术现在已经成为历史,这里就简单介绍下:
前文说过,早期操作系统仅将内存空间分成两块:系统区(用于存放操作系统相关数据)和用户区(用于存放用户进程相关数据,内存中只能有一道用户程序,用户程序独占整个用户区空间,显然,内存空间容不下某个用户程序的现象常会发生。
覆盖技术(Overlay)的基本思想就是:程序运行时并非任何时候都要访问程序及数据的所有部分(尤其是小程序),因此可以把用户空间(内存)分成一个固定区和一个或多个覆盖区。
将程序经常活跃的部分放在固定区,其余部分按调用关系进行分段:首先将那些即将要用的段放在覆盖区,其他段放在外存(磁盘),在需要调用前由用户来安排特定的系统调用将这些放在外存中的段调入覆盖区,替换覆盖区中原有的段。
覆盖技术的缺点显而易见并且可以说是让人无法接受的,那就是覆盖技术是把解决内存空间不足的问题交给了用户。操作系统仅仅为用户提供将覆盖段调入内存的系统调用,但是必须由用户自己来说明覆盖哪个段、调入哪个段。
合着我用个电脑还得算着怎么才能让我的程序不崩溃?
OK,可以看出来,覆盖技术其实是用在同一个作业/进程的不同段之间的,那么不同的作业/进程之间怎么办呢?
这就是交换技术的适用场景。
交换技术(Swapping)的基本思想是:空闲进程/作业主要存储在外存(磁盘)上,当其中某个进程/作业需要运行的时候,就将其从磁盘中完整地调入内存,使该进程运行一段时间,然后再把它返回磁盘。所以说当进程/作业不运行的时候它们是不会占用内存的。
事实上,覆盖和交换技术分别解决了传统存储管理(物理内存管理)中存在的某个问题:
覆盖技术打破了作业/进程必须一次性全部装入内存后才能开始运行(一次性)的限制
交换技术打破了一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束(驻留性)的限制
当然了,Anyway,这两种逻辑扩充技术已经成为历史,虚拟内存技术才是目前的主流,它综合了这两种古老技术的特点,单枪匹马解决了传统存储管理中存在的这两个问题。什么是虚拟内存
有了上述交换技术的铺垫,理解起虚拟内存来也就不那么陌生了。
当然了,在此之前,我一定要着重声明的是,不要把虚拟内存当作一个实际存在的东西,它是一门技术!和交换技术覆盖技术一样是一门用来逻辑扩充内存空间的技术!
虚拟内存技术基于一个非常重要的原理,局部性原理:
1)时间局部性:如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问。(因为程序中存在大量的循环)
2)空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问(因为很多数据在内存中都是连续存放的,并且程序的指令也是顺序地在内存中存放的)
基于这个局部性原理,在一个程序装入内存的时候,可以只将这个程序中很快会用到的部分装入内存,暂时用不到的部分仍然留在外存(磁盘),并且程序可以正常执行;
而在程序执行过程中,当 CPU 所需要的信息不在内存中的时候,由操作系统负责将所需信息从外存(磁盘)调入内存,然后继续执行程序;
如果调入内存的时候内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。
以上,就是虚拟内存技术。如何实现虚拟内存技术
可以看见,虚拟内存允许一个作业/进程分多次调入内存,那如果采用连续分配方式,不方便实现,所以虚拟内存技术的实现是建立在不连续分配管理方式之上的。
传统的基本分页管理、基本分段管理、基本段页式管理和虚拟内存技术结合,分别称为请求分页管理(页式虚存系统)、请求分段管理(段式虚存系统)、请求段页式管理(段页式虚存系统)。
这几个概念非常容易混淆,其实很容易区分,记住这句话就 OK,摘自百度百科:如果不具备请求调页、页面置换的功能,则称为基本分页管理(或称为纯分页管理),它不具有支持实现虚拟内存的功能,它要求把每个作业(进程)全部装入内存后方能运行。
请求分段存储管理也差不多,它建立在分段存储管理之上,但增加了请求调段、段置换功能。
请求调页、页面置换 和 请求调段、段置换概念差不多,这里以请求调页和页面置换为例解释下。
在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存(磁盘)调入内存,然后继续执行程序(操作系统要提供请求调页的功能, 将内存中缺失的页面从磁盘调入内存 );
若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到磁盘(操作系统要提供页面置换的功能, 将暂时用不到的页面换出磁盘)。
具体来说,在页式虚存系统中,每当 CPU 要访问的页面不在内存时,就会产生一个缺页中断,然后由操作系统的缺页中断处理程序来处理中断。此时,缺页的这个进程/作业就会被阻塞住,放入阻塞队列,调页完成后再将其唤醒,放回就绪队列。
如果内存中有空闲块,则为该进程分配一个空闲块,将所缺的页面装入这个块中,并修改页表中相应的页表项。
如果内存中没有空闲块,则由页面置换算法选择一个页面淘汰,若该页面在内存期间被修改过,则要将其写回外存,未修改过的页面不用写回外存。
可以看出来,这并不是一个简单的过程,基本分页管理中的简单页表已经无法胜任这样的工作。
我们还是先来回顾下基本分页管理的页表,它只有页号和块号两个字段:
请求分页管理的页表自然是会复杂不少的:
1)为了实现 "请求调页" 功能,操作系统需要知道每个页面是否已经调入内存,如果还没调入,那么也需要知道该页面在磁盘中存放的位置。
2)而当内存空间不够时,要实现 "页面置换" 功能,操作系统需要通过某些指标来决定到底换出哪个页面,有的页面没有被修改过,就不用浪费时间写回磁盘;有的页面修改过,就需要将磁盘中的旧数据覆盖。因此,操作系统也需要记录各个页面是否被修改的信息。
为此,请求分页管理的页表中添加了姓名。 4 个字段:
状态为:该页面是否已调入内存
访问字段:可记录该页面最近被访问过几次,或记录上次访问该页面的时间,供页面置换算法换出页面时参考
修改为:该页面调入内存后是否被修改过
内存地址:该页面在内存中的存放地址
页面置换算法也是一个很重要的内容,本来应该在这篇文章里一起写的,But 想到 "页面置换" 问题不仅仅是在虚拟内存中存在,在计算机设计的其他领域也会同样发生(比如多数计算机都会把最近使用过的 32 字节或者 64 字节存储块保存在一个或多个高速缓存中,当这些高速缓存存满后就必须选取一些块丢弃掉,以此来存入最新的使用过的存储块)。
与月亮有关的神话故事(关于月亮的故事儿童故事)与月亮有关的神话故事(关于月亮的故事儿童故事)古时候,有个地方夜晚总是漆黑一片,天空就像笼罩着一块黑布。因为在这里,月亮从来没有升起过,星星也不闪烁。其实在上帝创造世界时,晚上还是
日本音乐特点(日本音乐旋律的特点)日本音乐特点(日本音乐旋律的特点)众所周知,日本是全亚洲最大也是最完善的音乐市场。遍地开花的KTV,完善的单曲制等等都见证了日本市场的规范和庞大。音乐,作为流行浪潮中的一部分,它的
日本音乐特点(日本音乐的调式和特点)日本音乐特点(日本音乐的调式和特点)在去年的歌手里MISIA唱了一首向着未来,很多人惊呼这不是后来吗?!于是大家惊讶的发现,传唱至今的后来竟是舶来品,原曲来自日本。向着未来小石头和
c1驾照和c2驾照的区别(学车流程步骤)c1驾照和c2驾照的区别(学车流程步骤)我们都知道驾照分ABC等各种不一样的车型,细分之下,还有A1B1今天,我们来详细地说说目前驾照中,运用最为广泛的C证。很多的汽车小白想考驾照
开书店的利润(私人开书店靠什么盈利)开书店的利润(私人开书店靠什么盈利)我花了三四年时间采访各个书店,现总结如下。开书店需要什么?首先我想打击你一下,我觉得最起码你需要做好心理准备,十足的准备。事情不会像你想的那样顺
海淀人才服务中心(海淀人才中心代缴社保)海淀人才服务中心(海淀人才中心代缴社保)202003042057中国日报网按照北京市人社局关于做好疫情防控期间有关就业工作的通知要求,力保重点企业(即保障疫情防控公共事业运行群众生
相亲时候聊些什么话题(相亲网聊话题)男女相亲聊天话题你知道有哪些可以聊的吗?相亲本来就是两个不相识的人的见面,如果无话可说就会很尴尬。1聊一聊家人问问女孩的父母身体怎么样,父母都喜欢吃些什么,有哪些爱好,互相的爱好,
农历十月初一是什么节日(阴历十月一是什么节日啊)农历十月初一是什么节日(阴历十月一是什么节日啊)在我们北方,农历的十月初一这天可是很隆重的,尤其是住在村子里的很早就会起床去山上,去山上干嘛呢?不为别的,是为了上坟祭祖。农历的十月
我们结婚了闪光夫妇(我们结婚了里的9对经典夫妇)我们结婚了闪光夫妇(我们结婚了里的9对经典夫妇)韩国经典综艺节目我们结婚了自播出以来,就受到无数人的喜爱。节目中邀请当红的爱豆或者男女演员组成假想夫妇,一起约会吃饭生活。诸如维尼夫
古代女子成年行什么礼(古人的婚礼在什么时间举行)古代女子成年行什么礼(古人的婚礼在什么时间举行)有朋友问豆蔻及笄知天命花甲古稀耄耋期颐都有什么含义?这些都是古人对年龄阶段的别称,有一些因为常用,就保留了下来,如豆蔻年华,知天命,
汽车怎么保养(新手如何保养汽车)汽车怎么保养(新手如何保养汽车)提及汽车保养对有车一族的朋友来说其实并不陌生,或多或少都有一些汽车保养的经历。所谓的汽车保养就是定期或按规定里程对汽车易损件和消耗品进行的检查和维护
江流宛转绕芳甸(江流宛转绕芳甸的读音)江流宛转绕芳甸(江流宛转绕芳甸的读音)我仍记得杭州七月的那个夜晚,荷香阵阵,苏堤上,遥听净慈寺的南屏晚钟,望着悠悠湖水,心中激起百般感动,仿佛静听到千年的颂章,越过二堤,缓缓而来。
元芳是什么(男的管你叫元芳啥意思)元芳是什么(男的管你叫元芳啥意思)每次听到元芳,你怎么看?这句话时,相信大家都会开心得笑起来,当年热播的神探狄仁杰为大家贡献了很多经典名句。不知道大家是否注意到片中有一个细节,每次
会议室窗帘(会议室窗帘图片)会议室窗帘(会议室窗帘图片)说起窗帘,大多数人想到的应该是这样子其实,窗帘还可以是这样的岳塘国际布艺轻纺城爱尚窗饰就是这样一家专业经营非布艺类窗帘的企业爱尚窗饰创始人唐伟建唐伟建近
京的拼音(静的拼音)京的拼音(静的拼音)时候在老家的时候,老家的人们说话,总是白北不分,有时候把白读作北,有时候又把北读作白。比如,几十年前的家乡人总是把北京读作白金。而把白鲸则读作北金。这种北白不分
科普下土地兼并关于到现在土地兼并这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道土地兼并,小编也是到网上收集了一些与土地兼并相关的信息,
责怪的反义词(责备的反义词是什么)责怪的反义词(责备的反义词是什么)931茵苗教育参考答案部编二年级上册第1单元重难点总结一多音字组词长chn长度zhn长大大d大家di大夫只zh只能zh一只没mi没有m淹没降jin
ng什么意思(日漫中的NG是什么意思)答nogoodnotgood所谓NG镜头,指的是那些演员笑场忘词或者没发挥好的失败镜头。NG镜头虽然不会出现在正片里。但在一些电影的结尾,会有一段NG镜头合集,又叫花絮。NG在中文
量筒的使用(具塞量筒的使用规范)量筒的使用(具塞量筒的使用规范)量筒的读数,同样有着类似机械停表使用的难题。学生不用实物反复体验的话,只能靠记忆一些口诀来解决问题。这一点,毋庸讳言,很多学生背了很多口诀,估计做题
科普下家用电器运行瞬间和待机功率关于到现在科普下家用电器运行瞬间和待机功率这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科普下家用电器运行瞬间和待机功率
科普下钼元素的知识点总结关于到现在钼元素的知识点总结这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道钼元素的知识点总结,小编也是到网上收集了一些与
科普下钼元素的知识点总结关于到现在钼元素的知识点总结这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道钼元素的知识点总结,小编也是到网上收集了一些与