什么是计算机缓存
1个回答
展开全部
问题一:电脑中的缓冲和缓存是什么意思 我想比较通俗的说法来告诉你缓冲:我想你问的是每次播放歌曲和电影时候的缓冲是什么?对吧?其实你每次不论是看电影,还是听歌,都是把电影和歌曲下载到了你的电脑上再进行 听和看 。像一般的IE浏览器都是下载到这个路径C:\Documents and Settings\用户名(一般都是 “Administrator”)\Local Settings\Temporary Internet Files所以说缓冲其实就是已经下载到你电脑的部分缓存:缓存是一个为了提高数据传输速率的临时存放区域。简单的说就是临时文件交换区。电脑中最大的一个缓存就是内存条;cup中也有缓存,切分等级,作用是为了提高cup与硬盘、内存、键鼠等之间的数据传输;硬盘、显卡也都有缓存我想你差不多明白了吧!
问题二:什么是缓冲区(计算机类) 缓冲区 缓冲区,又称中立区、中立地带等,指的是两地的交界处因为战争或其他因素,而划定出的带状地区,此带状地区并不完全属于两方之中的一方,通常由两方共管或是由第三方协助管理。
缓冲区是地理空间目标的一种影响范围或服务范围,具体指在点、线、面实体的周围,自动建立的一定宽度的多边形。
数学表达为:Bi=(x:d(xi,Oi)≤R)?
即对象Oi的半径为R的缓冲区,为距Oi的距离d小于R的全部点的 *** 。d一般是最小欧氏距离,但也可是其他定义的距离。
另外还有一些特殊形态的缓冲区,如点对象有三角形、矩形和菱形,对于线对象有双侧对称、双侧不对称或单侧缓冲区,对于面对象有内侧和外侧缓冲区。适合于不同应用。
[编辑本段]F1中的缓冲区
缓冲区主要在高速弯道设置,它需要在不让赛车翻车的情况下,尽量将速度降下来,所以沙石缓冲区越宽越好,由于沙石降低了赛车的速度,因此也降低了赛车撞击轮胎墙的能量。而沥青缓冲区则旨在保留车手对赛车更多的控制能力。
[编辑本段]计算机中的缓冲区
缓冲器,为暂时置放输出或输入资料的内存。
缓冲器内资料自储存设备(如硬盘)来,放置在缓冲器中,须待机送至CPU或其他运算设备。
缓冲区(buffer)这个中文译意源自当计算机的高速部件与低速部件通讯时,必须将高速部件的输出暂存到某处,以保证高速部件与低速部件相吻合. 后来这个意思被扩展了,成为临时存贮区的意思。
问题三:电脑缓存是什么意思 电脑缓存(狭义)
计算机由于CPU运算的很快,而运算从内存读取数据速度不够,导致瓶颈(形象点,瓶颈是细细的,大量数据通过会造成堵塞,速度减缓),于是现代计算机采用的缓存技术,即在CPU在处理数据时先从缓存中提取数据(缓存内置在CPU中,它与CPU的数据交换速度远大于内存),而缓存中的数据是从内存中提取的。
不管是什么缓存,它的原理都是一样的!快和慢之间通过缓冲带进行过渡!
问题四:电脑中的 一级缓存 二级缓存 是属于什么的? 缓存
缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。
L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32―256KB。
L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,以前家庭用CPU容量最大的是512KB,现在笔记本电脑中也可以达到2M,而服务器和工作站上用CPU的L2伐速缓存更高,可以达到8M以上。
L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。
其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。
但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。
问题五:电脑的内存和缓存有区别吗 “内存”犹如人体大脑的记忆系统,用于存放计算机的运行程序和处理的数据,无论是否打开电源启动计算机,内存中总会有各种各样的数据信息存在,可以说它永远也不会空闲着。当运行计算机程序时,程序将首先被读入内存中,然后在特定的内存中开始执行,并且处理的结果也将保存在该内存中,也就是说内存总会和CPU之间频繁地交换数据,没有内存,CPU的工作将难以开展,计算机也无法启动。
在计算机中,描述数据量的单位是“字节(Byte,常用B表示)”,内存的大小都以MB(读作“兆字节”,简称“兆”)来表示。一台计算机要配置多大的内存才合适呢?这需要根据所要完成的工作来定的,或者说取决于运行的软件,以及要处理的数据量。初学者可以这样来理解这个问题,“内存”好比是一个大仓库,这个仓库的容量不得小于所要贮藏的“货物”量,也就是程序运行的基本需要,小了!“货物”搬运不方便,会影响CPU的运算速度,甚至不能让程序运行;太大了,又会造成大部分仓库空着,白白浪费了资源。当运行的软件一定时,内存的增加对系统运行速度的提高是有一个限度的,当内存达到某一数目后,再加大内存,运行的速度就几乎不会再提高了。所以,内存的大小应该视需要而定,比如用于文字处理工作,那16 MB就差不多了,而若要用来处理图形图像,或者玩三维游戏,64MB都可能远远不够,特别是在多任务环境下128MB可能都还少
“缓存”(cache),现代的电脑同时具有L1和L2 cache 。你可能在购买电脑的时候也听到过要好的朋友这样建议,“不要购买赛扬(Celeron)系列处理器,因为它的cache比较少”。
在电脑系统里,缓存在很多方面都起着举足轻重的作用, 并且它以各种各样的形式存在不同的硬件里面。其中有内存缓存,硬盘和软盘缓存,软件磁盘缓存,还有页面缓存等更多;虚拟内存也是另外一种不同表达形式的缓存。在这篇“神奇的硬件”文章里面,我们将会探究缓存,你可以 从中明白它的工作原理,并且知道为什么它在电脑系统中的地位是这么的重要。
一个简单的例子
超高速缓存(Caching)是计算机里面基于内存子系统的技术。使用缓存的主要目的是使价位低廉的电脑也可以保持高速运行;超高速缓存允许你的电脑在运行日常任务的时候能够更加 流畅、快速
问题六:计算机为什么要设置缓存 有缓存你下次再进入这个网页的时候或者打开这个软件的时候,就省下很多时间去下载那些代码、图片,打开速度就会变快了
问题七:电脑中的缓冲区是指什么? 缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里……
堆栈溢出(又称缓冲区溢出)攻击是最常用的黑客技术之一。我们知道,UNIX本身以及其上的许多应用程序都是用C语言编写的,C语言不检查缓冲区的边界。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。这称作“堆栈溢出或缓冲溢出”。
一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误。但是,如果输入的数据是经过“黑客”精心设计的,覆盖堆栈的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权。如果该程序恰好是以root运行的,黑客就获得了root权限,然后他就可以编译黑客程序、留下入侵后门等,实施进一步地攻击。按照这种原理进行的黑客入侵就叫做“堆栈溢出攻击”。
为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区――五磅的容器――做适当的检查,看它们是否够大,能否完全装入新的内容――十磅的糖,结果可能造成缓冲区溢出的产生。如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦。但是,如果缓冲区仅仅溢出,这只是一个问题。到此时为止,它还没有破坏性。当糖溢出时,柜台被盖住。可以把糖擦掉或用吸尘器吸走,还柜台本来面貌。与之相对的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。
在丢失的信息里有能够被程序调用的子程序的列表信息,直到缓冲区溢出发生。另外,给那些子程序的信息――参数――也丢失了。这意味着程序不能得到足够的信息从子程序返回,以完成它的任务。就像一个人步行穿过沙漠。如果他依赖于他的足迹走回头路,当沙暴来袭抹去了这些痕迹时,他将迷失在沙漠中。这个问题比程序仅仅迷失方向严重多了。入侵者用精心编写的入侵代码(一种恶意程序)使缓冲区溢出,然后告诉程序依据预设的方法处理缓冲区,并且执行。此时的程序已经完全被入侵者操纵了。
入侵者经常改编现有的应用程序运行不同的程序。例如,一个入侵者能启动一个新的程序,发送秘密文件(支票本记录,口令文件,或财产清单)给入侵者的电子邮件。这就好像不仅仅是沙暴吹了脚印,而且后来者也会踩出新的脚印,将我们的迷路者领向不同的地方,他自己一无所知的地方。
缓冲区溢出的处理
你屋子里的门和窗户越少,入侵者进入的方式就越少……
由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。如果你没有源代码,从上面“堆栈溢出攻击”的原理可以看出,要防止此类攻击,我们可以:
1、开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。由于编程和编程语言的原因,这非常困难,而且不适合大量已经在使用的程序;
2、使用检查堆栈溢出的编译器或者在程序中加入某些记号,以便程序运行时确认禁止黑客有意造成的溢出。问题是无法针对已有程序,对新程序来讲,需要修改编译器;
3、经常检查你的操作系统和应用程序提供商的站点,一旦发现他们提供的补丁程序,就马上下载并且应用在系统上,这是最好的方法。但是系统管理员总要比攻击者慢一步,如果这个有问题的软件是可选的,甚至是临时的,把它从你的系统中删除。举另外一个例子,你屋子里的门和窗户越少,入侵者进入的方式就越少。...>>
问题八:笔记本电脑缓存有啥用,什么意思 许多人认为,“缓存”是内存的一部分
许多技术文章都是这样教授的
但是还是有很多人不知道缓存在什么地方,缓存是做什么用的
其实,缓存是CPU的一部分,主要用于上网时零时暂存的一些东西,它存在于CPU中
CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大
缓存是为了解决CPU速度和内存速度的速度差异问题
内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多
这里要特别指出的是:
1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。
2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的
3.关于一级缓存和二级缓存
为了分清这两个概念,我们先了解一下RAM
ram和ROM相对的,RAM是掉电以后,其中才信息就消失那一种,ROM在掉电以后信息也不会消失那一种
RAM又分两种,
一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。
有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗
缓存通常都是静态RAM,速度是非常的快,
但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍),
价格高(同容量的静态RAM是动态RAM的四倍),
由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为,
但是为了提高系统的性能和速度,我们必须要扩大缓存,
这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存,
这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢,
我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。
一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。
通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了
问题二:什么是缓冲区(计算机类) 缓冲区 缓冲区,又称中立区、中立地带等,指的是两地的交界处因为战争或其他因素,而划定出的带状地区,此带状地区并不完全属于两方之中的一方,通常由两方共管或是由第三方协助管理。
缓冲区是地理空间目标的一种影响范围或服务范围,具体指在点、线、面实体的周围,自动建立的一定宽度的多边形。
数学表达为:Bi=(x:d(xi,Oi)≤R)?
即对象Oi的半径为R的缓冲区,为距Oi的距离d小于R的全部点的 *** 。d一般是最小欧氏距离,但也可是其他定义的距离。
另外还有一些特殊形态的缓冲区,如点对象有三角形、矩形和菱形,对于线对象有双侧对称、双侧不对称或单侧缓冲区,对于面对象有内侧和外侧缓冲区。适合于不同应用。
[编辑本段]F1中的缓冲区
缓冲区主要在高速弯道设置,它需要在不让赛车翻车的情况下,尽量将速度降下来,所以沙石缓冲区越宽越好,由于沙石降低了赛车的速度,因此也降低了赛车撞击轮胎墙的能量。而沥青缓冲区则旨在保留车手对赛车更多的控制能力。
[编辑本段]计算机中的缓冲区
缓冲器,为暂时置放输出或输入资料的内存。
缓冲器内资料自储存设备(如硬盘)来,放置在缓冲器中,须待机送至CPU或其他运算设备。
缓冲区(buffer)这个中文译意源自当计算机的高速部件与低速部件通讯时,必须将高速部件的输出暂存到某处,以保证高速部件与低速部件相吻合. 后来这个意思被扩展了,成为临时存贮区的意思。
问题三:电脑缓存是什么意思 电脑缓存(狭义)
计算机由于CPU运算的很快,而运算从内存读取数据速度不够,导致瓶颈(形象点,瓶颈是细细的,大量数据通过会造成堵塞,速度减缓),于是现代计算机采用的缓存技术,即在CPU在处理数据时先从缓存中提取数据(缓存内置在CPU中,它与CPU的数据交换速度远大于内存),而缓存中的数据是从内存中提取的。
不管是什么缓存,它的原理都是一样的!快和慢之间通过缓冲带进行过渡!
问题四:电脑中的 一级缓存 二级缓存 是属于什么的? 缓存
缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。
L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32―256KB。
L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,以前家庭用CPU容量最大的是512KB,现在笔记本电脑中也可以达到2M,而服务器和工作站上用CPU的L2伐速缓存更高,可以达到8M以上。
L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。
其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。
但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。
问题五:电脑的内存和缓存有区别吗 “内存”犹如人体大脑的记忆系统,用于存放计算机的运行程序和处理的数据,无论是否打开电源启动计算机,内存中总会有各种各样的数据信息存在,可以说它永远也不会空闲着。当运行计算机程序时,程序将首先被读入内存中,然后在特定的内存中开始执行,并且处理的结果也将保存在该内存中,也就是说内存总会和CPU之间频繁地交换数据,没有内存,CPU的工作将难以开展,计算机也无法启动。
在计算机中,描述数据量的单位是“字节(Byte,常用B表示)”,内存的大小都以MB(读作“兆字节”,简称“兆”)来表示。一台计算机要配置多大的内存才合适呢?这需要根据所要完成的工作来定的,或者说取决于运行的软件,以及要处理的数据量。初学者可以这样来理解这个问题,“内存”好比是一个大仓库,这个仓库的容量不得小于所要贮藏的“货物”量,也就是程序运行的基本需要,小了!“货物”搬运不方便,会影响CPU的运算速度,甚至不能让程序运行;太大了,又会造成大部分仓库空着,白白浪费了资源。当运行的软件一定时,内存的增加对系统运行速度的提高是有一个限度的,当内存达到某一数目后,再加大内存,运行的速度就几乎不会再提高了。所以,内存的大小应该视需要而定,比如用于文字处理工作,那16 MB就差不多了,而若要用来处理图形图像,或者玩三维游戏,64MB都可能远远不够,特别是在多任务环境下128MB可能都还少
“缓存”(cache),现代的电脑同时具有L1和L2 cache 。你可能在购买电脑的时候也听到过要好的朋友这样建议,“不要购买赛扬(Celeron)系列处理器,因为它的cache比较少”。
在电脑系统里,缓存在很多方面都起着举足轻重的作用, 并且它以各种各样的形式存在不同的硬件里面。其中有内存缓存,硬盘和软盘缓存,软件磁盘缓存,还有页面缓存等更多;虚拟内存也是另外一种不同表达形式的缓存。在这篇“神奇的硬件”文章里面,我们将会探究缓存,你可以 从中明白它的工作原理,并且知道为什么它在电脑系统中的地位是这么的重要。
一个简单的例子
超高速缓存(Caching)是计算机里面基于内存子系统的技术。使用缓存的主要目的是使价位低廉的电脑也可以保持高速运行;超高速缓存允许你的电脑在运行日常任务的时候能够更加 流畅、快速
问题六:计算机为什么要设置缓存 有缓存你下次再进入这个网页的时候或者打开这个软件的时候,就省下很多时间去下载那些代码、图片,打开速度就会变快了
问题七:电脑中的缓冲区是指什么? 缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里……
堆栈溢出(又称缓冲区溢出)攻击是最常用的黑客技术之一。我们知道,UNIX本身以及其上的许多应用程序都是用C语言编写的,C语言不检查缓冲区的边界。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。这称作“堆栈溢出或缓冲溢出”。
一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误。但是,如果输入的数据是经过“黑客”精心设计的,覆盖堆栈的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权。如果该程序恰好是以root运行的,黑客就获得了root权限,然后他就可以编译黑客程序、留下入侵后门等,实施进一步地攻击。按照这种原理进行的黑客入侵就叫做“堆栈溢出攻击”。
为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区――五磅的容器――做适当的检查,看它们是否够大,能否完全装入新的内容――十磅的糖,结果可能造成缓冲区溢出的产生。如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦。但是,如果缓冲区仅仅溢出,这只是一个问题。到此时为止,它还没有破坏性。当糖溢出时,柜台被盖住。可以把糖擦掉或用吸尘器吸走,还柜台本来面貌。与之相对的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。
在丢失的信息里有能够被程序调用的子程序的列表信息,直到缓冲区溢出发生。另外,给那些子程序的信息――参数――也丢失了。这意味着程序不能得到足够的信息从子程序返回,以完成它的任务。就像一个人步行穿过沙漠。如果他依赖于他的足迹走回头路,当沙暴来袭抹去了这些痕迹时,他将迷失在沙漠中。这个问题比程序仅仅迷失方向严重多了。入侵者用精心编写的入侵代码(一种恶意程序)使缓冲区溢出,然后告诉程序依据预设的方法处理缓冲区,并且执行。此时的程序已经完全被入侵者操纵了。
入侵者经常改编现有的应用程序运行不同的程序。例如,一个入侵者能启动一个新的程序,发送秘密文件(支票本记录,口令文件,或财产清单)给入侵者的电子邮件。这就好像不仅仅是沙暴吹了脚印,而且后来者也会踩出新的脚印,将我们的迷路者领向不同的地方,他自己一无所知的地方。
缓冲区溢出的处理
你屋子里的门和窗户越少,入侵者进入的方式就越少……
由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。如果你没有源代码,从上面“堆栈溢出攻击”的原理可以看出,要防止此类攻击,我们可以:
1、开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。由于编程和编程语言的原因,这非常困难,而且不适合大量已经在使用的程序;
2、使用检查堆栈溢出的编译器或者在程序中加入某些记号,以便程序运行时确认禁止黑客有意造成的溢出。问题是无法针对已有程序,对新程序来讲,需要修改编译器;
3、经常检查你的操作系统和应用程序提供商的站点,一旦发现他们提供的补丁程序,就马上下载并且应用在系统上,这是最好的方法。但是系统管理员总要比攻击者慢一步,如果这个有问题的软件是可选的,甚至是临时的,把它从你的系统中删除。举另外一个例子,你屋子里的门和窗户越少,入侵者进入的方式就越少。...>>
问题八:笔记本电脑缓存有啥用,什么意思 许多人认为,“缓存”是内存的一部分
许多技术文章都是这样教授的
但是还是有很多人不知道缓存在什么地方,缓存是做什么用的
其实,缓存是CPU的一部分,主要用于上网时零时暂存的一些东西,它存在于CPU中
CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大
缓存是为了解决CPU速度和内存速度的速度差异问题
内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多
这里要特别指出的是:
1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。
2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的
3.关于一级缓存和二级缓存
为了分清这两个概念,我们先了解一下RAM
ram和ROM相对的,RAM是掉电以后,其中才信息就消失那一种,ROM在掉电以后信息也不会消失那一种
RAM又分两种,
一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。
有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗
缓存通常都是静态RAM,速度是非常的快,
但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍),
价格高(同容量的静态RAM是动态RAM的四倍),
由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为,
但是为了提高系统的性能和速度,我们必须要扩大缓存,
这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存,
这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢,
我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。
一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。
通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询