浅谈什么是缓存以及与虚拟内存的对比

您所在的位置:网站首页 内存和外存有哪些相同点呢英语 浅谈什么是缓存以及与虚拟内存的对比

浅谈什么是缓存以及与虚拟内存的对比

2024-07-06 00:04:43| 来源: 网络整理| 查看: 265

说到缓存,大家肯定都很熟悉,但是一问什么是缓存,或者问缓存是不是放在内存里,还有虚拟内存是把用得着的程序缓存到内存,用不着的程序放在磁盘吗?,大家可能多少会蒙一下下,那么今天就来看看什么是缓存。

局部性原理

局部性原理非常重要,也非常神奇好用,生活之中也非常实用,是本文的基石,开头就来简单比喻一下。就好比你在吃一块饼干,排除视觉,你在咬下去的前后的一个时间段里,你用的到的饼干有三部分,一个是你咬在嘴里的饼干,一个是你捏着的那部分,还有一个是让你感觉手里和嘴里是整体粘连的那一部分。以外的部分在这个时间段对你是用不上的,那么你拿着一块完整的饼干做这个动作,和只有嘴里那一块、手里接触的面积那块,以及提供粘连的最小部分来完成这个动作,对你来说是一样的。

更常见实用一点的比方就是,就好像你只要做到老师(CPU)写黑板(不用你)的时候你吃东西(不在),而老师要看你(用你)的时候你在看黑板(待命),那么在老师眼里你就等于一直在看黑板(一直待命)

所以局部性原理通俗表述就是,在一个时间段内,只提供用得到的东西和提供所有东西的效果是等同的,也就是说我可以只提供你暂时用得上的东西。

什么是缓存

一种元件:说到缓存(名词),大家或许第一时间想到的是cache,例如CPU里用来缓存(动词)内存页的TLB,例如CPU里的一级缓存、二级缓存等等。这里的缓存就是一种比内存更快的存储元件,是用来解决内存和cpu速度不一致问题的东西(类比内存是用来解决CPU和硬盘速度不一致的元件)。

一种行为:对于没有了解过计算机硬件的人来说,提到缓存,第一时间或许想到的是“视频缓存”,也就是在线看视频的时候,通过提前下载视频的部分来提高观看流畅度的一种行为;或者大家在清理手机空间的时候,见过诸如图片缓存、视频缓存的字样。而对于了解一定编程知识的同学,可能会想到程序将资源文件提前缓存在内存,在下次读取的时候避免磁盘IO,以提高响应速度的一种行为。

读完上面这些,你知道缓存是什么了吗?上面都是非常正确的概念,但知识是有深浅之分的,你可能还是不了解缓存(知道了,但没完全知道😄)。

我想说的的是缓存是一种思想,上文谈的几个都属于实现方式,缓存就是通过局部性原理来解决设备间读取速度差异大的一种思想。现在回过头来想想,无论是CPU里解决cpu与内存速度差异的cache,是将资源读入内存省去读磁盘的缓存,还是看图片看视频时的用来解决磁盘读取速度与网速下载差异的视频缓存(点开即看和等待转圈圈),都是为了加速,都是使用了提前准备的方式。

现在你了然什么是缓存了吗?那来停在这里思考一下,回答一下文章开头那个问题,缓存是放在内存里吗?

欢迎大家评论区写下自己的回答。我个人的回答是,“是,也不是”,是有将数据放在内存里的缓存方式,但不全是,有嫌弃下载速度慢所以使用之前放在磁盘里的,有嫌弃磁盘太慢所以使用之前放在内存里的,还有嫌弃内存太慢所以使用之前放在CPU内部cache里的。可见把磁盘里的东西提前放在内存里只不过是一种缓存思想的具体实现而已。

和虚拟内存有什么关系

谈到磁盘与内存之间来回放,很容易想到虚拟内存。虚拟内存的功能之一就是“等效扩容”。什么是扩容,就是例如8G的内存条变成16G;什么是等效,假的嘛,就是好像16G不是真的16G。这同样也是运用到了局部性原理。

总所周知程序要放在载入内存才能开始放入CPU去执行(因为嫌弃磁盘弱鸡)。虚拟内存就是将暂时不用的那部分先放入磁盘,等到快要用了再提前放回内存,产生一个好像内存不止实际那么大的感觉。比如2G的内存跑需要3G内存的程序,他不会同时用到3G,有一个过程,那么在这个过程里,可以先放2G以下进内存,而当前边执行的用不到了,就放进磁盘,把后续要用的提前放进来。这就实现了把2G的当3G用。 在这里插入图片描述

所以再来看开头的问题,可不可以这么理解,虚拟内存就是把用得着的程序缓存到内存,用不着的程序放在磁盘呢?

我的理解是不能,缓存是使用局部性原理,通过提前把马上用得上的东西拿来来加速;而虚拟内存是使用局部性原理,通过把暂时用不上的东西拿走来扩容。让人感觉相似是因为都使用了局部性原理以及都是内存磁盘交换,然而无论是目的还是方向都不一样,所以二者不能混淆,也不可嵌套解释。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭